/* gl-dynamic.c - opengl32.lib function pointer assignment */

#include <dogon/gl.h>
#include <dlfcn.h>

static void* libHandle = 0;

static void* _opengl_get_proc_address(const char* name)
{
  void *p;

  p = dlsym(libHandle,name);

  return p;
}

int opengl_init_func(void)
{
  libHandle = dlopen("libGL.so",RTLD_LAZY);


  /*
   * OpenGL 1.0 API
   */

  glNewList = _opengl_get_proc_address("glNewList");
  glEndList = _opengl_get_proc_address("glEndList");
  glCallList = _opengl_get_proc_address("glCallList");
  glCallLists = _opengl_get_proc_address("glCallLists");
  glDeleteLists = _opengl_get_proc_address("glDeleteLists");
  glGenLists = _opengl_get_proc_address("glGenLists");
  glListBase = _opengl_get_proc_address("glListBase");
  glBegin = _opengl_get_proc_address("glBegin");
  glBitmap = _opengl_get_proc_address("glBitmap");
  glColor3b = _opengl_get_proc_address("glColor3b");
  glColor3bv = _opengl_get_proc_address("glColor3bv");
  glColor3d = _opengl_get_proc_address("glColor3d");
  glColor3dv = _opengl_get_proc_address("glColor3dv");
  glColor3f = _opengl_get_proc_address("glColor3f");
  glColor3fv = _opengl_get_proc_address("glColor3fv");
  glColor3i = _opengl_get_proc_address("glColor3i");
  glColor3iv = _opengl_get_proc_address("glColor3iv");
  glColor3s = _opengl_get_proc_address("glColor3s");
  glColor3sv = _opengl_get_proc_address("glColor3sv");
  glColor3ub = _opengl_get_proc_address("glColor3ub");
  glColor3ubv = _opengl_get_proc_address("glColor3ubv");
  glColor3ui = _opengl_get_proc_address("glColor3ui");
  glColor3uiv = _opengl_get_proc_address("glColor3uiv");
  glColor3us = _opengl_get_proc_address("glColor3us");
  glColor3usv = _opengl_get_proc_address("glColor3usv");
  glColor4b = _opengl_get_proc_address("glColor4b");
  glColor4bv = _opengl_get_proc_address("glColor4bv");
  glColor4d = _opengl_get_proc_address("glColor4d");
  glColor4dv = _opengl_get_proc_address("glColor4dv");
  glColor4f = _opengl_get_proc_address("glColor4f");
  glColor4fv = _opengl_get_proc_address("glColor4fv");
  glColor4i = _opengl_get_proc_address("glColor4i");
  glColor4iv = _opengl_get_proc_address("glColor4iv");
  glColor4s = _opengl_get_proc_address("glColor4s");
  glColor4sv = _opengl_get_proc_address("glColor4sv");
  glColor4ub = _opengl_get_proc_address("glColor4ub");
  glColor4ubv = _opengl_get_proc_address("glColor4ubv");
  glColor4ui = _opengl_get_proc_address("glColor4ui");
  glColor4uiv = _opengl_get_proc_address("glColor4uiv");
  glColor4us = _opengl_get_proc_address("glColor4us");
  glColor4usv = _opengl_get_proc_address("glColor4usv");
  glEdgeFlag = _opengl_get_proc_address("glEdgeFlag");
  glEdgeFlagv = _opengl_get_proc_address("glEdgeFlagv");
  glEnd = _opengl_get_proc_address("glEnd");
  glIndexd = _opengl_get_proc_address("glIndexd");
  glIndexdv = _opengl_get_proc_address("glIndexdv");
  glIndexf = _opengl_get_proc_address("glIndexf");
  glIndexfv = _opengl_get_proc_address("glIndexfv");
  glIndexi = _opengl_get_proc_address("glIndexi");
  glIndexiv = _opengl_get_proc_address("glIndexiv");
  glIndexs = _opengl_get_proc_address("glIndexs");
  glIndexsv = _opengl_get_proc_address("glIndexsv");
  glNormal3b = _opengl_get_proc_address("glNormal3b");
  glNormal3bv = _opengl_get_proc_address("glNormal3bv");
  glNormal3d = _opengl_get_proc_address("glNormal3d");
  glNormal3dv = _opengl_get_proc_address("glNormal3dv");
  glNormal3f = _opengl_get_proc_address("glNormal3f");
  glNormal3fv = _opengl_get_proc_address("glNormal3fv");
  glNormal3i = _opengl_get_proc_address("glNormal3i");
  glNormal3iv = _opengl_get_proc_address("glNormal3iv");
  glNormal3s = _opengl_get_proc_address("glNormal3s");
  glNormal3sv = _opengl_get_proc_address("glNormal3sv");
  glRasterPos2d = _opengl_get_proc_address("glRasterPos2d");
  glRasterPos2dv = _opengl_get_proc_address("glRasterPos2dv");
  glRasterPos2f = _opengl_get_proc_address("glRasterPos2f");
  glRasterPos2fv = _opengl_get_proc_address("glRasterPos2fv");
  glRasterPos2i = _opengl_get_proc_address("glRasterPos2i");
  glRasterPos2iv = _opengl_get_proc_address("glRasterPos2iv");
  glRasterPos2s = _opengl_get_proc_address("glRasterPos2s");
  glRasterPos2sv = _opengl_get_proc_address("glRasterPos2sv");
  glRasterPos3d = _opengl_get_proc_address("glRasterPos3d");
  glRasterPos3dv = _opengl_get_proc_address("glRasterPos3dv");
  glRasterPos3f = _opengl_get_proc_address("glRasterPos3f");
  glRasterPos3fv = _opengl_get_proc_address("glRasterPos3fv");
  glRasterPos3i = _opengl_get_proc_address("glRasterPos3i");
  glRasterPos3iv = _opengl_get_proc_address("glRasterPos3iv");
  glRasterPos3s = _opengl_get_proc_address("glRasterPos3s");
  glRasterPos3sv = _opengl_get_proc_address("glRasterPos3sv");
  glRasterPos4d = _opengl_get_proc_address("glRasterPos4d");
  glRasterPos4dv = _opengl_get_proc_address("glRasterPos4dv");
  glRasterPos4f = _opengl_get_proc_address("glRasterPos4f");
  glRasterPos4fv = _opengl_get_proc_address("glRasterPos4fv");
  glRasterPos4i = _opengl_get_proc_address("glRasterPos4i");
  glRasterPos4iv = _opengl_get_proc_address("glRasterPos4iv");
  glRasterPos4s = _opengl_get_proc_address("glRasterPos4s");
  glRasterPos4sv = _opengl_get_proc_address("glRasterPos4sv");
  glRectd = _opengl_get_proc_address("glRectd");
  glRectdv = _opengl_get_proc_address("glRectdv");
  glRectf = _opengl_get_proc_address("glRectf");
  glRectfv = _opengl_get_proc_address("glRectfv");
  glRecti = _opengl_get_proc_address("glRecti");
  glRectiv = _opengl_get_proc_address("glRectiv");
  glRects = _opengl_get_proc_address("glRects");
  glRectsv = _opengl_get_proc_address("glRectsv");
  glTexCoord1d = _opengl_get_proc_address("glTexCoord1d");
  glTexCoord1dv = _opengl_get_proc_address("glTexCoord1dv");
  glTexCoord1f = _opengl_get_proc_address("glTexCoord1f");
  glTexCoord1fv = _opengl_get_proc_address("glTexCoord1fv");
  glTexCoord1i = _opengl_get_proc_address("glTexCoord1i");
  glTexCoord1iv = _opengl_get_proc_address("glTexCoord1iv");
  glTexCoord1s = _opengl_get_proc_address("glTexCoord1s");
  glTexCoord1sv = _opengl_get_proc_address("glTexCoord1sv");
  glTexCoord2d = _opengl_get_proc_address("glTexCoord2d");
  glTexCoord2dv = _opengl_get_proc_address("glTexCoord2dv");
  glTexCoord2f = _opengl_get_proc_address("glTexCoord2f");
  glTexCoord2fv = _opengl_get_proc_address("glTexCoord2fv");
  glTexCoord2i = _opengl_get_proc_address("glTexCoord2i");
  glTexCoord2iv = _opengl_get_proc_address("glTexCoord2iv");
  glTexCoord2s = _opengl_get_proc_address("glTexCoord2s");
  glTexCoord2sv = _opengl_get_proc_address("glTexCoord2sv");
  glTexCoord3d = _opengl_get_proc_address("glTexCoord3d");
  glTexCoord3dv = _opengl_get_proc_address("glTexCoord3dv");
  glTexCoord3f = _opengl_get_proc_address("glTexCoord3f");
  glTexCoord3fv = _opengl_get_proc_address("glTexCoord3fv");
  glTexCoord3i = _opengl_get_proc_address("glTexCoord3i");
  glTexCoord3iv = _opengl_get_proc_address("glTexCoord3iv");
  glTexCoord3s = _opengl_get_proc_address("glTexCoord3s");
  glTexCoord3sv = _opengl_get_proc_address("glTexCoord3sv");
  glTexCoord4d = _opengl_get_proc_address("glTexCoord4d");
  glTexCoord4dv = _opengl_get_proc_address("glTexCoord4dv");
  glTexCoord4f = _opengl_get_proc_address("glTexCoord4f");
  glTexCoord4fv = _opengl_get_proc_address("glTexCoord4fv");
  glTexCoord4i = _opengl_get_proc_address("glTexCoord4i");
  glTexCoord4iv = _opengl_get_proc_address("glTexCoord4iv");
  glTexCoord4s = _opengl_get_proc_address("glTexCoord4s");
  glTexCoord4sv = _opengl_get_proc_address("glTexCoord4sv");
  glVertex2d = _opengl_get_proc_address("glVertex2d");
  glVertex2dv = _opengl_get_proc_address("glVertex2dv");
  glVertex2f = _opengl_get_proc_address("glVertex2f");
  glVertex2fv = _opengl_get_proc_address("glVertex2fv");
  glVertex2i = _opengl_get_proc_address("glVertex2i");
  glVertex2iv = _opengl_get_proc_address("glVertex2iv");
  glVertex2s = _opengl_get_proc_address("glVertex2s");
  glVertex2sv = _opengl_get_proc_address("glVertex2sv");
  glVertex3d = _opengl_get_proc_address("glVertex3d");
  glVertex3dv = _opengl_get_proc_address("glVertex3dv");
  glVertex3f = _opengl_get_proc_address("glVertex3f");
  glVertex3fv = _opengl_get_proc_address("glVertex3fv");
  glVertex3i = _opengl_get_proc_address("glVertex3i");
  glVertex3iv = _opengl_get_proc_address("glVertex3iv");
  glVertex3s = _opengl_get_proc_address("glVertex3s");
  glVertex3sv = _opengl_get_proc_address("glVertex3sv");
  glVertex4d = _opengl_get_proc_address("glVertex4d");
  glVertex4dv = _opengl_get_proc_address("glVertex4dv");
  glVertex4f = _opengl_get_proc_address("glVertex4f");
  glVertex4fv = _opengl_get_proc_address("glVertex4fv");
  glVertex4i = _opengl_get_proc_address("glVertex4i");
  glVertex4iv = _opengl_get_proc_address("glVertex4iv");
  glVertex4s = _opengl_get_proc_address("glVertex4s");
  glVertex4sv = _opengl_get_proc_address("glVertex4sv");
  glClipPlane = _opengl_get_proc_address("glClipPlane");
  glColorMaterial = _opengl_get_proc_address("glColorMaterial");
  glCullFace = _opengl_get_proc_address("glCullFace");
  glFogf = _opengl_get_proc_address("glFogf");
  glFogfv = _opengl_get_proc_address("glFogfv");
  glFogi = _opengl_get_proc_address("glFogi");
  glFogiv = _opengl_get_proc_address("glFogiv");
  glFrontFace = _opengl_get_proc_address("glFrontFace");
  glHint = _opengl_get_proc_address("glHint");
  glLightf = _opengl_get_proc_address("glLightf");
  glLightfv = _opengl_get_proc_address("glLightfv");
  glLighti = _opengl_get_proc_address("glLighti");
  glLightiv = _opengl_get_proc_address("glLightiv");
  glLightModelf = _opengl_get_proc_address("glLightModelf");
  glLightModelfv = _opengl_get_proc_address("glLightModelfv");
  glLightModeli = _opengl_get_proc_address("glLightModeli");
  glLightModeliv = _opengl_get_proc_address("glLightModeliv");
  glLineStipple = _opengl_get_proc_address("glLineStipple");
  glLineWidth = _opengl_get_proc_address("glLineWidth");
  glMaterialf = _opengl_get_proc_address("glMaterialf");
  glMaterialfv = _opengl_get_proc_address("glMaterialfv");
  glMateriali = _opengl_get_proc_address("glMateriali");
  glMaterialiv = _opengl_get_proc_address("glMaterialiv");
  glPointSize = _opengl_get_proc_address("glPointSize");
  glPolygonMode = _opengl_get_proc_address("glPolygonMode");
  glPolygonStipple = _opengl_get_proc_address("glPolygonStipple");
  glScissor = _opengl_get_proc_address("glScissor");
  glShadeModel = _opengl_get_proc_address("glShadeModel");
  glTexParameterf = _opengl_get_proc_address("glTexParameterf");
  glTexParameterfv = _opengl_get_proc_address("glTexParameterfv");
  glTexParameteri = _opengl_get_proc_address("glTexParameteri");
  glTexParameteriv = _opengl_get_proc_address("glTexParameteriv");
  glTexImage1D = _opengl_get_proc_address("glTexImage1D");
  glTexImage2D = _opengl_get_proc_address("glTexImage2D");
  glTexEnvf = _opengl_get_proc_address("glTexEnvf");
  glTexEnvfv = _opengl_get_proc_address("glTexEnvfv");
  glTexEnvi = _opengl_get_proc_address("glTexEnvi");
  glTexEnviv = _opengl_get_proc_address("glTexEnviv");
  glTexGend = _opengl_get_proc_address("glTexGend");
  glTexGendv = _opengl_get_proc_address("glTexGendv");
  glTexGenf = _opengl_get_proc_address("glTexGenf");
  glTexGenfv = _opengl_get_proc_address("glTexGenfv");
  glTexGeni = _opengl_get_proc_address("glTexGeni");
  glTexGeniv = _opengl_get_proc_address("glTexGeniv");
  glFeedbackBuffer = _opengl_get_proc_address("glFeedbackBuffer");
  glSelectBuffer = _opengl_get_proc_address("glSelectBuffer");
  glRenderMode = _opengl_get_proc_address("glRenderMode");
  glInitNames = _opengl_get_proc_address("glInitNames");
  glLoadName = _opengl_get_proc_address("glLoadName");
  glPassThrough = _opengl_get_proc_address("glPassThrough");
  glPopName = _opengl_get_proc_address("glPopName");
  glPushName = _opengl_get_proc_address("glPushName");
  glDrawBuffer = _opengl_get_proc_address("glDrawBuffer");
  glClear = _opengl_get_proc_address("glClear");
  glClearAccum = _opengl_get_proc_address("glClearAccum");
  glClearIndex = _opengl_get_proc_address("glClearIndex");
  glClearColor = _opengl_get_proc_address("glClearColor");
  glClearStencil = _opengl_get_proc_address("glClearStencil");
  glClearDepth = _opengl_get_proc_address("glClearDepth");
  glStencilMask = _opengl_get_proc_address("glStencilMask");
  glColorMask = _opengl_get_proc_address("glColorMask");
  glDepthMask = _opengl_get_proc_address("glDepthMask");
  glIndexMask = _opengl_get_proc_address("glIndexMask");
  glAccum = _opengl_get_proc_address("glAccum");
  glDisable = _opengl_get_proc_address("glDisable");
  glEnable = _opengl_get_proc_address("glEnable");
  glFinish = _opengl_get_proc_address("glFinish");
  glFlush = _opengl_get_proc_address("glFlush");
  glPopAttrib = _opengl_get_proc_address("glPopAttrib");
  glPushAttrib = _opengl_get_proc_address("glPushAttrib");
  glMap1d = _opengl_get_proc_address("glMap1d");
  glMap1f = _opengl_get_proc_address("glMap1f");
  glMap2d = _opengl_get_proc_address("glMap2d");
  glMap2f = _opengl_get_proc_address("glMap2f");
  glMapGrid1d = _opengl_get_proc_address("glMapGrid1d");
  glMapGrid1f = _opengl_get_proc_address("glMapGrid1f");
  glMapGrid2d = _opengl_get_proc_address("glMapGrid2d");
  glMapGrid2f = _opengl_get_proc_address("glMapGrid2f");
  glEvalCoord1d = _opengl_get_proc_address("glEvalCoord1d");
  glEvalCoord1dv = _opengl_get_proc_address("glEvalCoord1dv");
  glEvalCoord1f = _opengl_get_proc_address("glEvalCoord1f");
  glEvalCoord1fv = _opengl_get_proc_address("glEvalCoord1fv");
  glEvalCoord2d = _opengl_get_proc_address("glEvalCoord2d");
  glEvalCoord2dv = _opengl_get_proc_address("glEvalCoord2dv");
  glEvalCoord2f = _opengl_get_proc_address("glEvalCoord2f");
  glEvalCoord2fv = _opengl_get_proc_address("glEvalCoord2fv");
  glEvalMesh1 = _opengl_get_proc_address("glEvalMesh1");
  glEvalPoint1 = _opengl_get_proc_address("glEvalPoint1");
  glEvalMesh2 = _opengl_get_proc_address("glEvalMesh2");
  glEvalPoint2 = _opengl_get_proc_address("glEvalPoint2");
  glAlphaFunc = _opengl_get_proc_address("glAlphaFunc");
  glBlendFunc = _opengl_get_proc_address("glBlendFunc");
  glLogicOp = _opengl_get_proc_address("glLogicOp");
  glStencilFunc = _opengl_get_proc_address("glStencilFunc");
  glStencilOp = _opengl_get_proc_address("glStencilOp");
  glDepthFunc = _opengl_get_proc_address("glDepthFunc");
  glPixelZoom = _opengl_get_proc_address("glPixelZoom");
  glPixelTransferf = _opengl_get_proc_address("glPixelTransferf");
  glPixelTransferi = _opengl_get_proc_address("glPixelTransferi");
  glPixelStoref = _opengl_get_proc_address("glPixelStoref");
  glPixelStorei = _opengl_get_proc_address("glPixelStorei");
  glPixelMapfv = _opengl_get_proc_address("glPixelMapfv");
  glPixelMapuiv = _opengl_get_proc_address("glPixelMapuiv");
  glPixelMapusv = _opengl_get_proc_address("glPixelMapusv");
  glReadBuffer = _opengl_get_proc_address("glReadBuffer");
  glCopyPixels = _opengl_get_proc_address("glCopyPixels");
  glReadPixels = _opengl_get_proc_address("glReadPixels");
  glDrawPixels = _opengl_get_proc_address("glDrawPixels");
  glGetBooleanv = _opengl_get_proc_address("glGetBooleanv");
  glGetClipPlane = _opengl_get_proc_address("glGetClipPlane");
  glGetDoublev = _opengl_get_proc_address("glGetDoublev");
  glGetError = _opengl_get_proc_address("glGetError");
  glGetFloatv = _opengl_get_proc_address("glGetFloatv");
  glGetIntegerv = _opengl_get_proc_address("glGetIntegerv");
  glGetLightfv = _opengl_get_proc_address("glGetLightfv");
  glGetLightiv = _opengl_get_proc_address("glGetLightiv");
  glGetMapdv = _opengl_get_proc_address("glGetMapdv");
  glGetMapfv = _opengl_get_proc_address("glGetMapfv");
  glGetMapiv = _opengl_get_proc_address("glGetMapiv");
  glGetMaterialfv = _opengl_get_proc_address("glGetMaterialfv");
  glGetMaterialiv = _opengl_get_proc_address("glGetMaterialiv");
  glGetPixelMapfv = _opengl_get_proc_address("glGetPixelMapfv");
  glGetPixelMapuiv = _opengl_get_proc_address("glGetPixelMapuiv");
  glGetPixelMapusv = _opengl_get_proc_address("glGetPixelMapusv");
  glGetPolygonStipple = _opengl_get_proc_address("glGetPolygonStipple");
  glGetString = _opengl_get_proc_address("glGetString");
  glGetTexEnvfv = _opengl_get_proc_address("glGetTexEnvfv");
  glGetTexEnviv = _opengl_get_proc_address("glGetTexEnviv");
  glGetTexGendv = _opengl_get_proc_address("glGetTexGendv");
  glGetTexGenfv = _opengl_get_proc_address("glGetTexGenfv");
  glGetTexGeniv = _opengl_get_proc_address("glGetTexGeniv");
  glGetTexImage = _opengl_get_proc_address("glGetTexImage");
  glGetTexParameterfv = _opengl_get_proc_address("glGetTexParameterfv");
  glGetTexParameteriv = _opengl_get_proc_address("glGetTexParameteriv");
  glGetTexLevelParameterfv = _opengl_get_proc_address("glGetTexLevelParameterfv");
  glGetTexLevelParameteriv = _opengl_get_proc_address("glGetTexLevelParameteriv");
  glIsEnabled = _opengl_get_proc_address("glIsEnabled");
  glIsList = _opengl_get_proc_address("glIsList");
  glDepthRange = _opengl_get_proc_address("glDepthRange");
  glFrustum = _opengl_get_proc_address("glFrustum");
  glLoadIdentity = _opengl_get_proc_address("glLoadIdentity");
  glLoadMatrixf = _opengl_get_proc_address("glLoadMatrixf");
  glLoadMatrixd = _opengl_get_proc_address("glLoadMatrixd");
  glMatrixMode = _opengl_get_proc_address("glMatrixMode");
  glMultMatrixf = _opengl_get_proc_address("glMultMatrixf");
  glMultMatrixd = _opengl_get_proc_address("glMultMatrixd");
  glOrtho = _opengl_get_proc_address("glOrtho");
  glPopMatrix = _opengl_get_proc_address("glPopMatrix");
  glPushMatrix = _opengl_get_proc_address("glPushMatrix");
  glRotated = _opengl_get_proc_address("glRotated");
  glRotatef = _opengl_get_proc_address("glRotatef");
  glScaled = _opengl_get_proc_address("glScaled");
  glScalef = _opengl_get_proc_address("glScalef");
  glTranslated = _opengl_get_proc_address("glTranslated");
  glTranslatef = _opengl_get_proc_address("glTranslatef");
  glViewport = _opengl_get_proc_address("glViewport");

  /*
   * OpenGL 1.1 API
   */

  glArrayElement = _opengl_get_proc_address("glArrayElement");
  glColorPointer = _opengl_get_proc_address("glColorPointer");
  glDisableClientState = _opengl_get_proc_address("glDisableClientState");
  glDrawArrays = _opengl_get_proc_address("glDrawArrays");
  glDrawElements = _opengl_get_proc_address("glDrawElements");
  glEdgeFlagPointer = _opengl_get_proc_address("glEdgeFlagPointer");
  glEnableClientState = _opengl_get_proc_address("glEnableClientState");
  glGetPointerv = _opengl_get_proc_address("glGetPointerv");
  glIndexPointer = _opengl_get_proc_address("glIndexPointer");
  glInterleavedArrays = _opengl_get_proc_address("glInterleavedArrays");
  glNormalPointer = _opengl_get_proc_address("glNormalPointer");
  glTexCoordPointer = _opengl_get_proc_address("glTexCoordPointer");
  glVertexPointer = _opengl_get_proc_address("glVertexPointer");
  glPolygonOffset = _opengl_get_proc_address("glPolygonOffset");
  glCopyTexImage1D = _opengl_get_proc_address("glCopyTexImage1D");
  glCopyTexImage2D = _opengl_get_proc_address("glCopyTexImage2D");
  glCopyTexSubImage1D = _opengl_get_proc_address("glCopyTexSubImage1D");
  glCopyTexSubImage2D = _opengl_get_proc_address("glCopyTexSubImage2D");
  glTexSubImage1D = _opengl_get_proc_address("glTexSubImage1D");
  glTexSubImage2D = _opengl_get_proc_address("glTexSubImage2D");
  glAreTexturesResident = _opengl_get_proc_address("glAreTexturesResident");
  glBindTexture = _opengl_get_proc_address("glBindTexture");
  glDeleteTextures = _opengl_get_proc_address("glDeleteTextures");
  glGenTextures = _opengl_get_proc_address("glGenTextures");
  glIsTexture = _opengl_get_proc_address("glIsTexture");
  glPrioritizeTextures = _opengl_get_proc_address("glPrioritizeTextures");
  glIndexub = _opengl_get_proc_address("glIndexub");
  glIndexubv = _opengl_get_proc_address("glIndexubv");
  glPopClientAttrib = _opengl_get_proc_address("glPopClientAttrib");
  glPushClientAttrib = _opengl_get_proc_address("glPushClientAttrib");

  /*
   * OpenGL 1.2 API
   */

  glBlendColor = _opengl_get_proc_address("glBlendColor");
  glBlendEquation = _opengl_get_proc_address("glBlendEquation");
  glDrawRangeElements = _opengl_get_proc_address("glDrawRangeElements");
  glColorTable = _opengl_get_proc_address("glColorTable");
  glColorTableParameterfv = _opengl_get_proc_address("glColorTableParameterfv");
  glColorTableParameteriv = _opengl_get_proc_address("glColorTableParameteriv");
  glCopyColorTable = _opengl_get_proc_address("glCopyColorTable");
  glGetColorTable = _opengl_get_proc_address("glGetColorTable");
  glGetColorTableParameterfv = _opengl_get_proc_address("glGetColorTableParameterfv");
  glGetColorTableParameteriv = _opengl_get_proc_address("glGetColorTableParameteriv");
  glColorSubTable = _opengl_get_proc_address("glColorSubTable");
  glCopyColorSubTable = _opengl_get_proc_address("glCopyColorSubTable");
  glConvolutionFilter1D = _opengl_get_proc_address("glConvolutionFilter1D");
  glConvolutionFilter2D = _opengl_get_proc_address("glConvolutionFilter2D");
  glConvolutionParameterf = _opengl_get_proc_address("glConvolutionParameterf");
  glConvolutionParameterfv = _opengl_get_proc_address("glConvolutionParameterfv");
  glConvolutionParameteri = _opengl_get_proc_address("glConvolutionParameteri");
  glConvolutionParameteriv = _opengl_get_proc_address("glConvolutionParameteriv");
  glCopyConvolutionFilter1D = _opengl_get_proc_address("glCopyConvolutionFilter1D");
  glCopyConvolutionFilter2D = _opengl_get_proc_address("glCopyConvolutionFilter2D");
  glGetConvolutionFilter = _opengl_get_proc_address("glGetConvolutionFilter");
  glGetConvolutionParameterfv = _opengl_get_proc_address("glGetConvolutionParameterfv");
  glGetConvolutionParameteriv = _opengl_get_proc_address("glGetConvolutionParameteriv");
  glGetSeparableFilter = _opengl_get_proc_address("glGetSeparableFilter");
  glSeparableFilter2D = _opengl_get_proc_address("glSeparableFilter2D");
  glGetHistogram = _opengl_get_proc_address("glGetHistogram");
  glGetHistogramParameterfv = _opengl_get_proc_address("glGetHistogramParameterfv");
  glGetHistogramParameteriv = _opengl_get_proc_address("glGetHistogramParameteriv");
  glGetMinmax = _opengl_get_proc_address("glGetMinmax");
  glGetMinmaxParameterfv = _opengl_get_proc_address("glGetMinmaxParameterfv");
  glGetMinmaxParameteriv = _opengl_get_proc_address("glGetMinmaxParameteriv");
  glHistogram = _opengl_get_proc_address("glHistogram");
  glMinmax = _opengl_get_proc_address("glMinmax");
  glResetHistogram = _opengl_get_proc_address("glResetHistogram");
  glResetMinmax = _opengl_get_proc_address("glResetMinmax");
  glTexImage3D = _opengl_get_proc_address("glTexImage3D");
  glTexSubImage3D = _opengl_get_proc_address("glTexSubImage3D");
  glCopyTexSubImage3D = _opengl_get_proc_address("glCopyTexSubImage3D");

  /*
   * OpenGL 1.3 API
   */

  glActiveTexture = _opengl_get_proc_address("glActiveTexture");
  glClientActiveTexture = _opengl_get_proc_address("glClientActiveTexture");
  glMultiTexCoord1d = _opengl_get_proc_address("glMultiTexCoord1d");
  glMultiTexCoord1dv = _opengl_get_proc_address("glMultiTexCoord1dv");
  glMultiTexCoord1f = _opengl_get_proc_address("glMultiTexCoord1f");
  glMultiTexCoord1fv = _opengl_get_proc_address("glMultiTexCoord1fv");
  glMultiTexCoord1i = _opengl_get_proc_address("glMultiTexCoord1i");
  glMultiTexCoord1iv = _opengl_get_proc_address("glMultiTexCoord1iv");
  glMultiTexCoord1s = _opengl_get_proc_address("glMultiTexCoord1s");
  glMultiTexCoord1sv = _opengl_get_proc_address("glMultiTexCoord1sv");
  glMultiTexCoord2d = _opengl_get_proc_address("glMultiTexCoord2d");
  glMultiTexCoord2dv = _opengl_get_proc_address("glMultiTexCoord2dv");
  glMultiTexCoord2f = _opengl_get_proc_address("glMultiTexCoord2f");
  glMultiTexCoord2fv = _opengl_get_proc_address("glMultiTexCoord2fv");
  glMultiTexCoord2i = _opengl_get_proc_address("glMultiTexCoord2i");
  glMultiTexCoord2iv = _opengl_get_proc_address("glMultiTexCoord2iv");
  glMultiTexCoord2s = _opengl_get_proc_address("glMultiTexCoord2s");
  glMultiTexCoord2sv = _opengl_get_proc_address("glMultiTexCoord2sv");
  glMultiTexCoord3d = _opengl_get_proc_address("glMultiTexCoord3d");
  glMultiTexCoord3dv = _opengl_get_proc_address("glMultiTexCoord3dv");
  glMultiTexCoord3f = _opengl_get_proc_address("glMultiTexCoord3f");
  glMultiTexCoord3fv = _opengl_get_proc_address("glMultiTexCoord3fv");
  glMultiTexCoord3i = _opengl_get_proc_address("glMultiTexCoord3i");
  glMultiTexCoord3iv = _opengl_get_proc_address("glMultiTexCoord3iv");
  glMultiTexCoord3s = _opengl_get_proc_address("glMultiTexCoord3s");
  glMultiTexCoord3sv = _opengl_get_proc_address("glMultiTexCoord3sv");
  glMultiTexCoord4d = _opengl_get_proc_address("glMultiTexCoord4d");
  glMultiTexCoord4dv = _opengl_get_proc_address("glMultiTexCoord4dv");
  glMultiTexCoord4f = _opengl_get_proc_address("glMultiTexCoord4f");
  glMultiTexCoord4fv = _opengl_get_proc_address("glMultiTexCoord4fv");
  glMultiTexCoord4i = _opengl_get_proc_address("glMultiTexCoord4i");
  glMultiTexCoord4iv = _opengl_get_proc_address("glMultiTexCoord4iv");
  glMultiTexCoord4s = _opengl_get_proc_address("glMultiTexCoord4s");
  glMultiTexCoord4sv = _opengl_get_proc_address("glMultiTexCoord4sv");
  glLoadTransposeMatrixf = _opengl_get_proc_address("glLoadTransposeMatrixf");
  glLoadTransposeMatrixd = _opengl_get_proc_address("glLoadTransposeMatrixd");
  glMultTransposeMatrixf = _opengl_get_proc_address("glMultTransposeMatrixf");
  glMultTransposeMatrixd = _opengl_get_proc_address("glMultTransposeMatrixd");
  glSampleCoverage = _opengl_get_proc_address("glSampleCoverage");
  glCompressedTexImage3D = _opengl_get_proc_address("glCompressedTexImage3D");
  glCompressedTexImage2D = _opengl_get_proc_address("glCompressedTexImage2D");
  glCompressedTexImage1D = _opengl_get_proc_address("glCompressedTexImage1D");
  glCompressedTexSubImage3D = _opengl_get_proc_address("glCompressedTexSubImage3D");
  glCompressedTexSubImage2D = _opengl_get_proc_address("glCompressedTexSubImage2D");
  glCompressedTexSubImage1D = _opengl_get_proc_address("glCompressedTexSubImage1D");
  glGetCompressedTexImage = _opengl_get_proc_address("glGetCompressedTexImage");

  /*
   * OpenGL 1.4 API
   */

  glBlendFuncSeparate = _opengl_get_proc_address("glBlendFuncSeparate");
  glFogCoordf = _opengl_get_proc_address("glFogCoordf");
  glFogCoordfv = _opengl_get_proc_address("glFogCoordfv");
  glFogCoordd = _opengl_get_proc_address("glFogCoordd");
  glFogCoorddv = _opengl_get_proc_address("glFogCoorddv");
  glFogCoordPointer = _opengl_get_proc_address("glFogCoordPointer");
  glMultiDrawArrays = _opengl_get_proc_address("glMultiDrawArrays");
  glMultiDrawElements = _opengl_get_proc_address("glMultiDrawElements");
  glPointParameterf = _opengl_get_proc_address("glPointParameterf");
  glPointParameterfv = _opengl_get_proc_address("glPointParameterfv");
  glPointParameteri = _opengl_get_proc_address("glPointParameteri");
  glPointParameteriv = _opengl_get_proc_address("glPointParameteriv");
  glSecondaryColor3b = _opengl_get_proc_address("glSecondaryColor3b");
  glSecondaryColor3bv = _opengl_get_proc_address("glSecondaryColor3bv");
  glSecondaryColor3d = _opengl_get_proc_address("glSecondaryColor3d");
  glSecondaryColor3dv = _opengl_get_proc_address("glSecondaryColor3dv");
  glSecondaryColor3f = _opengl_get_proc_address("glSecondaryColor3f");
  glSecondaryColor3fv = _opengl_get_proc_address("glSecondaryColor3fv");
  glSecondaryColor3i = _opengl_get_proc_address("glSecondaryColor3i");
  glSecondaryColor3iv = _opengl_get_proc_address("glSecondaryColor3iv");
  glSecondaryColor3s = _opengl_get_proc_address("glSecondaryColor3s");
  glSecondaryColor3sv = _opengl_get_proc_address("glSecondaryColor3sv");
  glSecondaryColor3ub = _opengl_get_proc_address("glSecondaryColor3ub");
  glSecondaryColor3ubv = _opengl_get_proc_address("glSecondaryColor3ubv");
  glSecondaryColor3ui = _opengl_get_proc_address("glSecondaryColor3ui");
  glSecondaryColor3uiv = _opengl_get_proc_address("glSecondaryColor3uiv");
  glSecondaryColor3us = _opengl_get_proc_address("glSecondaryColor3us");
  glSecondaryColor3usv = _opengl_get_proc_address("glSecondaryColor3usv");
  glSecondaryColorPointer = _opengl_get_proc_address("glSecondaryColorPointer");
  glWindowPos2d = _opengl_get_proc_address("glWindowPos2d");
  glWindowPos2dv = _opengl_get_proc_address("glWindowPos2dv");
  glWindowPos2f = _opengl_get_proc_address("glWindowPos2f");
  glWindowPos2fv = _opengl_get_proc_address("glWindowPos2fv");
  glWindowPos2i = _opengl_get_proc_address("glWindowPos2i");
  glWindowPos2iv = _opengl_get_proc_address("glWindowPos2iv");
  glWindowPos2s = _opengl_get_proc_address("glWindowPos2s");
  glWindowPos2sv = _opengl_get_proc_address("glWindowPos2sv");
  glWindowPos3d = _opengl_get_proc_address("glWindowPos3d");
  glWindowPos3dv = _opengl_get_proc_address("glWindowPos3dv");
  glWindowPos3f = _opengl_get_proc_address("glWindowPos3f");
  glWindowPos3fv = _opengl_get_proc_address("glWindowPos3fv");
  glWindowPos3i = _opengl_get_proc_address("glWindowPos3i");
  glWindowPos3iv = _opengl_get_proc_address("glWindowPos3iv");
  glWindowPos3s = _opengl_get_proc_address("glWindowPos3s");
  glWindowPos3sv = _opengl_get_proc_address("glWindowPos3sv");

  /*
   * OpenGL 1.5 API
   */

  glBindBuffer = _opengl_get_proc_address("glBindBuffer");
  glBufferData = _opengl_get_proc_address("glBufferData");
  glBufferSubData = _opengl_get_proc_address("glBufferSubData");
  glDeleteBuffers = _opengl_get_proc_address("glDeleteBuffers");
  glGenBuffers = _opengl_get_proc_address("glGenBuffers");
  glGetBufferParameteriv = _opengl_get_proc_address("glGetBufferParameteriv");
  glGetBufferPointerv = _opengl_get_proc_address("glGetBufferPointerv");
  glGetBufferSubData = _opengl_get_proc_address("glGetBufferSubData");
  glIsBuffer = _opengl_get_proc_address("glIsBuffer");
  glMapBuffer = _opengl_get_proc_address("glMapBuffer");
  glUnmapBuffer = _opengl_get_proc_address("glUnmapBuffer");
  glGenQueries = _opengl_get_proc_address("glGenQueries");
  glDeleteQueries = _opengl_get_proc_address("glDeleteQueries");
  glIsQuery = _opengl_get_proc_address("glIsQuery");
  glBeginQuery = _opengl_get_proc_address("glBeginQuery");
  glEndQuery = _opengl_get_proc_address("glEndQuery");
  glGetQueryiv = _opengl_get_proc_address("glGetQueryiv");
  glGetQueryObjectiv = _opengl_get_proc_address("glGetQueryObjectiv");
  glGetQueryObjectuiv = _opengl_get_proc_address("glGetQueryObjectuiv");

  /* GL_ARB_multitexture */
  glActiveTextureARB = _opengl_get_proc_address("glActiveTextureARB");
  glClientActiveTextureARB = _opengl_get_proc_address("glClientActiveTextureARB");
  glMultiTexCoord1dARB = _opengl_get_proc_address("glMultiTexCoord1dARB");
  glMultiTexCoord1dvARB = _opengl_get_proc_address("glMultiTexCoord1dvARB");
  glMultiTexCoord1fARB = _opengl_get_proc_address("glMultiTexCoord1fARB");
  glMultiTexCoord1fvARB = _opengl_get_proc_address("glMultiTexCoord1fvARB");
  glMultiTexCoord1iARB = _opengl_get_proc_address("glMultiTexCoord1iARB");
  glMultiTexCoord1ivARB = _opengl_get_proc_address("glMultiTexCoord1ivARB");
  glMultiTexCoord1sARB = _opengl_get_proc_address("glMultiTexCoord1sARB");
  glMultiTexCoord1svARB = _opengl_get_proc_address("glMultiTexCoord1svARB");
  glMultiTexCoord2dARB = _opengl_get_proc_address("glMultiTexCoord2dARB");
  glMultiTexCoord2dvARB = _opengl_get_proc_address("glMultiTexCoord2dvARB");
  glMultiTexCoord2fARB = _opengl_get_proc_address("glMultiTexCoord2fARB");
  glMultiTexCoord2fvARB = _opengl_get_proc_address("glMultiTexCoord2fvARB");
  glMultiTexCoord2iARB = _opengl_get_proc_address("glMultiTexCoord2iARB");
  glMultiTexCoord2ivARB = _opengl_get_proc_address("glMultiTexCoord2ivARB");
  glMultiTexCoord2sARB = _opengl_get_proc_address("glMultiTexCoord2sARB");
  glMultiTexCoord2svARB = _opengl_get_proc_address("glMultiTexCoord2svARB");
  glMultiTexCoord3dARB = _opengl_get_proc_address("glMultiTexCoord3dARB");
  glMultiTexCoord3dvARB = _opengl_get_proc_address("glMultiTexCoord3dvARB");
  glMultiTexCoord3fARB = _opengl_get_proc_address("glMultiTexCoord3fARB");
  glMultiTexCoord3fvARB = _opengl_get_proc_address("glMultiTexCoord3fvARB");
  glMultiTexCoord3iARB = _opengl_get_proc_address("glMultiTexCoord3iARB");
  glMultiTexCoord3ivARB = _opengl_get_proc_address("glMultiTexCoord3ivARB");
  glMultiTexCoord3sARB = _opengl_get_proc_address("glMultiTexCoord3sARB");
  glMultiTexCoord3svARB = _opengl_get_proc_address("glMultiTexCoord3svARB");
  glMultiTexCoord4dARB = _opengl_get_proc_address("glMultiTexCoord4dARB");
  glMultiTexCoord4dvARB = _opengl_get_proc_address("glMultiTexCoord4dvARB");
  glMultiTexCoord4fARB = _opengl_get_proc_address("glMultiTexCoord4fARB");
  glMultiTexCoord4fvARB = _opengl_get_proc_address("glMultiTexCoord4fvARB");
  glMultiTexCoord4iARB = _opengl_get_proc_address("glMultiTexCoord4iARB");
  glMultiTexCoord4ivARB = _opengl_get_proc_address("glMultiTexCoord4ivARB");
  glMultiTexCoord4sARB = _opengl_get_proc_address("glMultiTexCoord4sARB");
  glMultiTexCoord4svARB = _opengl_get_proc_address("glMultiTexCoord4svARB");

  /* GL_ARB_transpose_matrix */
  glLoadTransposeMatrixfARB = _opengl_get_proc_address("glLoadTransposeMatrixfARB");
  glLoadTransposeMatrixdARB = _opengl_get_proc_address("glLoadTransposeMatrixdARB");
  glMultTransposeMatrixfARB = _opengl_get_proc_address("glMultTransposeMatrixfARB");
  glMultTransposeMatrixdARB = _opengl_get_proc_address("glMultTransposeMatrixdARB");

  /* GL_ARB_multisample */
  glSampleCoverageARB = _opengl_get_proc_address("glSampleCoverageARB");

  /* GL_ARB_texture_env_add */

  /* GL_ARB_texture_cube_map */

  /* GL_ARB_texture_compression */
  glCompressedTexImage3DARB = _opengl_get_proc_address("glCompressedTexImage3DARB");
  glCompressedTexImage2DARB = _opengl_get_proc_address("glCompressedTexImage2DARB");
  glCompressedTexImage1DARB = _opengl_get_proc_address("glCompressedTexImage1DARB");
  glCompressedTexSubImage3DARB = _opengl_get_proc_address("glCompressedTexSubImage3DARB");
  glCompressedTexSubImage2DARB = _opengl_get_proc_address("glCompressedTexSubImage2DARB");
  glCompressedTexSubImage1DARB = _opengl_get_proc_address("glCompressedTexSubImage1DARB");
  glGetCompressedTexImageARB = _opengl_get_proc_address("glGetCompressedTexImageARB");

  /* GL_ARB_texture_border_clamp */

  /* GL_ARB_point_parameters */
  glPointParameterfARB = _opengl_get_proc_address("glPointParameterfARB");
  glPointParameterfvARB = _opengl_get_proc_address("glPointParameterfvARB");

  /* GL_ARB_vertex_blend */
  glWeightbvARB = _opengl_get_proc_address("glWeightbvARB");
  glWeightsvARB = _opengl_get_proc_address("glWeightsvARB");
  glWeightivARB = _opengl_get_proc_address("glWeightivARB");
  glWeightfvARB = _opengl_get_proc_address("glWeightfvARB");
  glWeightdvARB = _opengl_get_proc_address("glWeightdvARB");
  glWeightubvARB = _opengl_get_proc_address("glWeightubvARB");
  glWeightusvARB = _opengl_get_proc_address("glWeightusvARB");
  glWeightuivARB = _opengl_get_proc_address("glWeightuivARB");
  glWeightPointerARB = _opengl_get_proc_address("glWeightPointerARB");
  glVertexBlendARB = _opengl_get_proc_address("glVertexBlendARB");

  /* GL_ARB_matrix_palette */
  glCurrentPaletteMatrixARB = _opengl_get_proc_address("glCurrentPaletteMatrixARB");
  glMatrixIndexubvARB = _opengl_get_proc_address("glMatrixIndexubvARB");
  glMatrixIndexusvARB = _opengl_get_proc_address("glMatrixIndexusvARB");
  glMatrixIndexuivARB = _opengl_get_proc_address("glMatrixIndexuivARB");
  glMatrixIndexPointerARB = _opengl_get_proc_address("glMatrixIndexPointerARB");

  /* GL_ARB_texture_env_combine */

  /* GL_ARB_texture_env_crossbar */

  /* GL_ARB_texture_env_dot3 */

  /* GL_ARB_texture_mirrored_repeat */

  /* GL_ARB_depth_texture */

  /* GL_ARB_shadow */

  /* GL_ARB_shadow_ambient */

  /* GL_ARB_window_pos */
  glWindowPos2dARB = _opengl_get_proc_address("glWindowPos2dARB");
  glWindowPos2fARB = _opengl_get_proc_address("glWindowPos2fARB");
  glWindowPos2iARB = _opengl_get_proc_address("glWindowPos2iARB");
  glWindowPos2sARB = _opengl_get_proc_address("glWindowPos2sARB");
  glWindowPos2dvARB = _opengl_get_proc_address("glWindowPos2dvARB");
  glWindowPos2fvARB = _opengl_get_proc_address("glWindowPos2fvARB");
  glWindowPos2ivARB = _opengl_get_proc_address("glWindowPos2ivARB");
  glWindowPos2svARB = _opengl_get_proc_address("glWindowPos2svARB");
  glWindowPos3dARB = _opengl_get_proc_address("glWindowPos3dARB");
  glWindowPos3fARB = _opengl_get_proc_address("glWindowPos3fARB");
  glWindowPos3iARB = _opengl_get_proc_address("glWindowPos3iARB");
  glWindowPos3sARB = _opengl_get_proc_address("glWindowPos3sARB");
  glWindowPos3dvARB = _opengl_get_proc_address("glWindowPos3dvARB");
  glWindowPos3fvARB = _opengl_get_proc_address("glWindowPos3fvARB");
  glWindowPos3ivARB = _opengl_get_proc_address("glWindowPos3ivARB");
  glWindowPos3svARB = _opengl_get_proc_address("glWindowPos3svARB");

  /* GL_ARB_vertex_program */
  glVertexAttrib1sARB = _opengl_get_proc_address("glVertexAttrib1sARB");
  glVertexAttrib1fARB = _opengl_get_proc_address("glVertexAttrib1fARB");
  glVertexAttrib1dARB = _opengl_get_proc_address("glVertexAttrib1dARB");
  glVertexAttrib2sARB = _opengl_get_proc_address("glVertexAttrib2sARB");
  glVertexAttrib2fARB = _opengl_get_proc_address("glVertexAttrib2fARB");
  glVertexAttrib2dARB = _opengl_get_proc_address("glVertexAttrib2dARB");
  glVertexAttrib3sARB = _opengl_get_proc_address("glVertexAttrib3sARB");
  glVertexAttrib3fARB = _opengl_get_proc_address("glVertexAttrib3fARB");
  glVertexAttrib3dARB = _opengl_get_proc_address("glVertexAttrib3dARB");
  glVertexAttrib4sARB = _opengl_get_proc_address("glVertexAttrib4sARB");
  glVertexAttrib4fARB = _opengl_get_proc_address("glVertexAttrib4fARB");
  glVertexAttrib4dARB = _opengl_get_proc_address("glVertexAttrib4dARB");
  glVertexAttrib4NubARB = _opengl_get_proc_address("glVertexAttrib4NubARB");
  glVertexAttrib1svARB = _opengl_get_proc_address("glVertexAttrib1svARB");
  glVertexAttrib1fvARB = _opengl_get_proc_address("glVertexAttrib1fvARB");
  glVertexAttrib1dvARB = _opengl_get_proc_address("glVertexAttrib1dvARB");
  glVertexAttrib2svARB = _opengl_get_proc_address("glVertexAttrib2svARB");
  glVertexAttrib2fvARB = _opengl_get_proc_address("glVertexAttrib2fvARB");
  glVertexAttrib2dvARB = _opengl_get_proc_address("glVertexAttrib2dvARB");
  glVertexAttrib3svARB = _opengl_get_proc_address("glVertexAttrib3svARB");
  glVertexAttrib3fvARB = _opengl_get_proc_address("glVertexAttrib3fvARB");
  glVertexAttrib3dvARB = _opengl_get_proc_address("glVertexAttrib3dvARB");
  glVertexAttrib4bvARB = _opengl_get_proc_address("glVertexAttrib4bvARB");
  glVertexAttrib4svARB = _opengl_get_proc_address("glVertexAttrib4svARB");
  glVertexAttrib4ivARB = _opengl_get_proc_address("glVertexAttrib4ivARB");
  glVertexAttrib4ubvARB = _opengl_get_proc_address("glVertexAttrib4ubvARB");
  glVertexAttrib4usvARB = _opengl_get_proc_address("glVertexAttrib4usvARB");
  glVertexAttrib4uivARB = _opengl_get_proc_address("glVertexAttrib4uivARB");
  glVertexAttrib4fvARB = _opengl_get_proc_address("glVertexAttrib4fvARB");
  glVertexAttrib4dvARB = _opengl_get_proc_address("glVertexAttrib4dvARB");
  glVertexAttrib4NbvARB = _opengl_get_proc_address("glVertexAttrib4NbvARB");
  glVertexAttrib4NsvARB = _opengl_get_proc_address("glVertexAttrib4NsvARB");
  glVertexAttrib4NivARB = _opengl_get_proc_address("glVertexAttrib4NivARB");
  glVertexAttrib4NubvARB = _opengl_get_proc_address("glVertexAttrib4NubvARB");
  glVertexAttrib4NusvARB = _opengl_get_proc_address("glVertexAttrib4NusvARB");
  glVertexAttrib4NuivARB = _opengl_get_proc_address("glVertexAttrib4NuivARB");
  glVertexAttribPointerARB = _opengl_get_proc_address("glVertexAttribPointerARB");
  glEnableVertexAttribArrayARB = _opengl_get_proc_address("glEnableVertexAttribArrayARB");
  glDisableVertexAttribArrayARB = _opengl_get_proc_address("glDisableVertexAttribArrayARB");
  glProgramStringARB = _opengl_get_proc_address("glProgramStringARB");
  glBindProgramARB = _opengl_get_proc_address("glBindProgramARB");
  glDeleteProgramsARB = _opengl_get_proc_address("glDeleteProgramsARB");
  glGenProgramsARB = _opengl_get_proc_address("glGenProgramsARB");
  glIsProgramARB = _opengl_get_proc_address("glIsProgramARB");
  glProgramEnvParameter4dARB = _opengl_get_proc_address("glProgramEnvParameter4dARB");
  glProgramEnvParameter4dvARB = _opengl_get_proc_address("glProgramEnvParameter4dvARB");
  glProgramEnvParameter4fARB = _opengl_get_proc_address("glProgramEnvParameter4fARB");
  glProgramEnvParameter4fvARB = _opengl_get_proc_address("glProgramEnvParameter4fvARB");
  glProgramLocalParameter4dARB = _opengl_get_proc_address("glProgramLocalParameter4dARB");
  glProgramLocalParameter4dvARB = _opengl_get_proc_address("glProgramLocalParameter4dvARB");
  glProgramLocalParameter4fARB = _opengl_get_proc_address("glProgramLocalParameter4fARB");
  glProgramLocalParameter4fvARB = _opengl_get_proc_address("glProgramLocalParameter4fvARB");
  glGetProgramEnvParameterdvARB = _opengl_get_proc_address("glGetProgramEnvParameterdvARB");
  glGetProgramEnvParameterfvARB = _opengl_get_proc_address("glGetProgramEnvParameterfvARB");
  glGetProgramLocalParameterdvARB = _opengl_get_proc_address("glGetProgramLocalParameterdvARB");
  glGetProgramLocalParameterfvARB = _opengl_get_proc_address("glGetProgramLocalParameterfvARB");
  glGetProgramivARB = _opengl_get_proc_address("glGetProgramivARB");
  glGetProgramStringARB = _opengl_get_proc_address("glGetProgramStringARB");
  glGetVertexAttribdvARB = _opengl_get_proc_address("glGetVertexAttribdvARB");
  glGetVertexAttribfvARB = _opengl_get_proc_address("glGetVertexAttribfvARB");
  glGetVertexAttribivARB = _opengl_get_proc_address("glGetVertexAttribivARB");
  glGetVertexAttribPointervARB = _opengl_get_proc_address("glGetVertexAttribPointervARB");

  /* GL_ARB_fragment_program */

  /* GL_ARB_vertex_buffer_object */
  glBindBufferARB = _opengl_get_proc_address("glBindBufferARB");
  glBufferDataARB = _opengl_get_proc_address("glBufferDataARB");
  glBufferSubDataARB = _opengl_get_proc_address("glBufferSubDataARB");
  glDeleteBuffersARB = _opengl_get_proc_address("glDeleteBuffersARB");
  glGenBuffersARB = _opengl_get_proc_address("glGenBuffersARB");
  glGetBufferParameterivARB = _opengl_get_proc_address("glGetBufferParameterivARB");
  glGetBufferPointervARB = _opengl_get_proc_address("glGetBufferPointervARB");
  glGetBufferSubDataARB = _opengl_get_proc_address("glGetBufferSubDataARB");
  glIsBufferARB = _opengl_get_proc_address("glIsBufferARB");
  glMapBufferARB = _opengl_get_proc_address("glMapBufferARB");
  glUnmapBufferARB = _opengl_get_proc_address("glUnmapBufferARB");

  /* GL_ARB_occlusion_query */
  glGenQueriesARB = _opengl_get_proc_address("glGenQueriesARB");
  glDeleteQueriesARB = _opengl_get_proc_address("glDeleteQueriesARB");
  glIsQueryARB = _opengl_get_proc_address("glIsQueryARB");
  glBeginQueryARB = _opengl_get_proc_address("glBeginQueryARB");
  glEndQueryARB = _opengl_get_proc_address("glEndQueryARB");
  glGetQueryivARB = _opengl_get_proc_address("glGetQueryivARB");
  glGetQueryObjectivARB = _opengl_get_proc_address("glGetQueryObjectivARB");
  glGetQueryObjectuivARB = _opengl_get_proc_address("glGetQueryObjectuivARB");

  /* GL_ARB_shader_objects */
  glDeleteObjectARB = _opengl_get_proc_address("glDeleteObjectARB");
  glGetHandleARB = _opengl_get_proc_address("glGetHandleARB");
  glDetachObjectARB = _opengl_get_proc_address("glDetachObjectARB");
  glCreateShaderObjectARB = _opengl_get_proc_address("glCreateShaderObjectARB");
  glShaderSourceARB = _opengl_get_proc_address("glShaderSourceARB");
  glCompileShaderARB = _opengl_get_proc_address("glCompileShaderARB");
  glCreateProgramObjectARB = _opengl_get_proc_address("glCreateProgramObjectARB");
  glAttachObjectARB = _opengl_get_proc_address("glAttachObjectARB");
  glLinkProgramARB = _opengl_get_proc_address("glLinkProgramARB");
  glUseProgramObjectARB = _opengl_get_proc_address("glUseProgramObjectARB");
  glValidateProgramARB = _opengl_get_proc_address("glValidateProgramARB");
  glUniform1fARB = _opengl_get_proc_address("glUniform1fARB");
  glUniform2fARB = _opengl_get_proc_address("glUniform2fARB");
  glUniform3fARB = _opengl_get_proc_address("glUniform3fARB");
  glUniform4fARB = _opengl_get_proc_address("glUniform4fARB");
  glUniform1iARB = _opengl_get_proc_address("glUniform1iARB");
  glUniform2iARB = _opengl_get_proc_address("glUniform2iARB");
  glUniform3iARB = _opengl_get_proc_address("glUniform3iARB");
  glUniform4iARB = _opengl_get_proc_address("glUniform4iARB");
  glUniform1fvARB = _opengl_get_proc_address("glUniform1fvARB");
  glUniform2fvARB = _opengl_get_proc_address("glUniform2fvARB");
  glUniform3fvARB = _opengl_get_proc_address("glUniform3fvARB");
  glUniform4fvARB = _opengl_get_proc_address("glUniform4fvARB");
  glUniform1ivARB = _opengl_get_proc_address("glUniform1ivARB");
  glUniform2ivARB = _opengl_get_proc_address("glUniform2ivARB");
  glUniform3ivARB = _opengl_get_proc_address("glUniform3ivARB");
  glUniform4ivARB = _opengl_get_proc_address("glUniform4ivARB");
  glUniformMatrix2fvARB = _opengl_get_proc_address("glUniformMatrix2fvARB");
  glUniformMatrix3fvARB = _opengl_get_proc_address("glUniformMatrix3fvARB");
  glUniformMatrix4fvARB = _opengl_get_proc_address("glUniformMatrix4fvARB");
  glGetObjectParameterfvARB = _opengl_get_proc_address("glGetObjectParameterfvARB");
  glGetObjectParameterivARB = _opengl_get_proc_address("glGetObjectParameterivARB");
  glGetInfoLogARB = _opengl_get_proc_address("glGetInfoLogARB");
  glGetAttachedObjectsARB = _opengl_get_proc_address("glGetAttachedObjectsARB");
  glGetUniformLocationARB = _opengl_get_proc_address("glGetUniformLocationARB");
  glGetActiveUniformARB = _opengl_get_proc_address("glGetActiveUniformARB");
  glGetUniformfvARB = _opengl_get_proc_address("glGetUniformfvARB");
  glGetUniformivARB = _opengl_get_proc_address("glGetUniformivARB");
  glGetShaderSourceARB = _opengl_get_proc_address("glGetShaderSourceARB");

  /* GL_ARB_vertex_shader */
  glBindAttribLocationARB = _opengl_get_proc_address("glBindAttribLocationARB");
  glGetActiveAttribARB = _opengl_get_proc_address("glGetActiveAttribARB");
  glGetAttribLocationARB = _opengl_get_proc_address("glGetAttribLocationARB");

  /* GL_ARB_fragment_shader */

  /* GL_ARB_shading_language_100 */

  /* GL_ARB_texture_non_power_of_two */

  /* GL_ARB_point_sprite */

  /* GL_ARB_fragment_program_shadow */

  /* GL_EXT_blend_color */
  glBlendColorEXT = _opengl_get_proc_address("glBlendColorEXT");

  /* GL_EXT_polygon_offset */
  glPolygonOffsetEXT = _opengl_get_proc_address("glPolygonOffsetEXT");

  /* GL_EXT_texture */

  /* GL_EXT_texture3D */
  glTexImage3DEXT = _opengl_get_proc_address("glTexImage3DEXT");
  glTexSubImage3DEXT = _opengl_get_proc_address("glTexSubImage3DEXT");

  /* GL_SGIS_texture_filter4 */
  glGetTexFilterFuncSGIS = _opengl_get_proc_address("glGetTexFilterFuncSGIS");
  glTexFilterFuncSGIS = _opengl_get_proc_address("glTexFilterFuncSGIS");

  /* GL_EXT_subtexture */
  glTexSubImage1DEXT = _opengl_get_proc_address("glTexSubImage1DEXT");
  glTexSubImage2DEXT = _opengl_get_proc_address("glTexSubImage2DEXT");

  /* GL_EXT_copy_texture */
  glCopyTexImage1DEXT = _opengl_get_proc_address("glCopyTexImage1DEXT");
  glCopyTexImage2DEXT = _opengl_get_proc_address("glCopyTexImage2DEXT");
  glCopyTexSubImage1DEXT = _opengl_get_proc_address("glCopyTexSubImage1DEXT");
  glCopyTexSubImage2DEXT = _opengl_get_proc_address("glCopyTexSubImage2DEXT");
  glCopyTexSubImage3DEXT = _opengl_get_proc_address("glCopyTexSubImage3DEXT");

  /* GL_EXT_histogram */
  glGetHistogramEXT = _opengl_get_proc_address("glGetHistogramEXT");
  glGetHistogramParameterfvEXT = _opengl_get_proc_address("glGetHistogramParameterfvEXT");
  glGetHistogramParameterivEXT = _opengl_get_proc_address("glGetHistogramParameterivEXT");
  glGetMinmaxEXT = _opengl_get_proc_address("glGetMinmaxEXT");
  glGetMinmaxParameterfvEXT = _opengl_get_proc_address("glGetMinmaxParameterfvEXT");
  glGetMinmaxParameterivEXT = _opengl_get_proc_address("glGetMinmaxParameterivEXT");
  glHistogramEXT = _opengl_get_proc_address("glHistogramEXT");
  glMinmaxEXT = _opengl_get_proc_address("glMinmaxEXT");
  glResetHistogramEXT = _opengl_get_proc_address("glResetHistogramEXT");
  glResetMinmaxEXT = _opengl_get_proc_address("glResetMinmaxEXT");

  /* GL_EXT_convolution */
  glConvolutionFilter1DEXT = _opengl_get_proc_address("glConvolutionFilter1DEXT");
  glConvolutionFilter2DEXT = _opengl_get_proc_address("glConvolutionFilter2DEXT");
  glConvolutionParameterfEXT = _opengl_get_proc_address("glConvolutionParameterfEXT");
  glConvolutionParameterfvEXT = _opengl_get_proc_address("glConvolutionParameterfvEXT");
  glConvolutionParameteriEXT = _opengl_get_proc_address("glConvolutionParameteriEXT");
  glConvolutionParameterivEXT = _opengl_get_proc_address("glConvolutionParameterivEXT");
  glCopyConvolutionFilter1DEXT = _opengl_get_proc_address("glCopyConvolutionFilter1DEXT");
  glCopyConvolutionFilter2DEXT = _opengl_get_proc_address("glCopyConvolutionFilter2DEXT");
  glGetConvolutionFilterEXT = _opengl_get_proc_address("glGetConvolutionFilterEXT");
  glGetConvolutionParameterfvEXT = _opengl_get_proc_address("glGetConvolutionParameterfvEXT");
  glGetConvolutionParameterivEXT = _opengl_get_proc_address("glGetConvolutionParameterivEXT");
  glGetSeparableFilterEXT = _opengl_get_proc_address("glGetSeparableFilterEXT");
  glSeparableFilter2DEXT = _opengl_get_proc_address("glSeparableFilter2DEXT");

  /* GL_SGI_color_table */
  glColorTableSGI = _opengl_get_proc_address("glColorTableSGI");
  glColorTableParameterfvSGI = _opengl_get_proc_address("glColorTableParameterfvSGI");
  glColorTableParameterivSGI = _opengl_get_proc_address("glColorTableParameterivSGI");
  glCopyColorTableSGI = _opengl_get_proc_address("glCopyColorTableSGI");
  glGetColorTableSGI = _opengl_get_proc_address("glGetColorTableSGI");
  glGetColorTableParameterfvSGI = _opengl_get_proc_address("glGetColorTableParameterfvSGI");
  glGetColorTableParameterivSGI = _opengl_get_proc_address("glGetColorTableParameterivSGI");

  /* GL_SGIS_pixel_texture */
  glPixelTexGenParameteriSGIS = _opengl_get_proc_address("glPixelTexGenParameteriSGIS");
  glPixelTexGenParameterivSGIS = _opengl_get_proc_address("glPixelTexGenParameterivSGIS");
  glPixelTexGenParameterfSGIS = _opengl_get_proc_address("glPixelTexGenParameterfSGIS");
  glPixelTexGenParameterfvSGIS = _opengl_get_proc_address("glPixelTexGenParameterfvSGIS");
  glGetPixelTexGenParameterivSGIS = _opengl_get_proc_address("glGetPixelTexGenParameterivSGIS");
  glGetPixelTexGenParameterfvSGIS = _opengl_get_proc_address("glGetPixelTexGenParameterfvSGIS");

  /* GL_SGIS_texture4D */
  glTexImage4DSGIS = _opengl_get_proc_address("glTexImage4DSGIS");
  glTexSubImage4DSGIS = _opengl_get_proc_address("glTexSubImage4DSGIS");

  /* GL_EXT_texture_object */
  glAreTexturesResidentEXT = _opengl_get_proc_address("glAreTexturesResidentEXT");
  glBindTextureEXT = _opengl_get_proc_address("glBindTextureEXT");
  glDeleteTexturesEXT = _opengl_get_proc_address("glDeleteTexturesEXT");
  glGenTexturesEXT = _opengl_get_proc_address("glGenTexturesEXT");
  glIsTextureEXT = _opengl_get_proc_address("glIsTextureEXT");
  glPrioritizeTexturesEXT = _opengl_get_proc_address("glPrioritizeTexturesEXT");

  /* GL_SGIS_detail_texture */
  glDetailTexFuncSGIS = _opengl_get_proc_address("glDetailTexFuncSGIS");
  glGetDetailTexFuncSGIS = _opengl_get_proc_address("glGetDetailTexFuncSGIS");

  /* GL_SGIS_sharpen_texture */
  glSharpenTexFuncSGIS = _opengl_get_proc_address("glSharpenTexFuncSGIS");
  glGetSharpenTexFuncSGIS = _opengl_get_proc_address("glGetSharpenTexFuncSGIS");

  /* GL_SGIS_multisample */
  glSampleMaskSGIS = _opengl_get_proc_address("glSampleMaskSGIS");
  glSamplePatternSGIS = _opengl_get_proc_address("glSamplePatternSGIS");

  /* GL_EXT_vertex_array */
  glArrayElementEXT = _opengl_get_proc_address("glArrayElementEXT");
  glColorPointerEXT = _opengl_get_proc_address("glColorPointerEXT");
  glDrawArraysEXT = _opengl_get_proc_address("glDrawArraysEXT");
  glEdgeFlagPointerEXT = _opengl_get_proc_address("glEdgeFlagPointerEXT");
  glGetPointervEXT = _opengl_get_proc_address("glGetPointervEXT");
  glIndexPointerEXT = _opengl_get_proc_address("glIndexPointerEXT");
  glNormalPointerEXT = _opengl_get_proc_address("glNormalPointerEXT");
  glTexCoordPointerEXT = _opengl_get_proc_address("glTexCoordPointerEXT");
  glVertexPointerEXT = _opengl_get_proc_address("glVertexPointerEXT");

  /* GL_EXT_blend_minmax */
  glBlendEquationEXT = _opengl_get_proc_address("glBlendEquationEXT");

  /* GL_SGIX_sprite */
  glSpriteParameterfSGIX = _opengl_get_proc_address("glSpriteParameterfSGIX");
  glSpriteParameterfvSGIX = _opengl_get_proc_address("glSpriteParameterfvSGIX");
  glSpriteParameteriSGIX = _opengl_get_proc_address("glSpriteParameteriSGIX");
  glSpriteParameterivSGIX = _opengl_get_proc_address("glSpriteParameterivSGIX");

  /* GL_EXT_point_parameters */
  glPointParameterfEXT = _opengl_get_proc_address("glPointParameterfEXT");
  glPointParameterfvEXT = _opengl_get_proc_address("glPointParameterfvEXT");

  /* GL_SGIX_instruments */
  glGetInstrumentsSGIX = _opengl_get_proc_address("glGetInstrumentsSGIX");
  glInstrumentsBufferSGIX = _opengl_get_proc_address("glInstrumentsBufferSGIX");
  glPollInstrumentsSGIX = _opengl_get_proc_address("glPollInstrumentsSGIX");
  glReadInstrumentsSGIX = _opengl_get_proc_address("glReadInstrumentsSGIX");
  glStartInstrumentsSGIX = _opengl_get_proc_address("glStartInstrumentsSGIX");
  glStopInstrumentsSGIX = _opengl_get_proc_address("glStopInstrumentsSGIX");

  /* GL_SGIX_framezoom */
  glFrameZoomSGIX = _opengl_get_proc_address("glFrameZoomSGIX");

  /* GL_SGIX_tag_sample_buffer */
  glTagSampleBufferSGIX = _opengl_get_proc_address("glTagSampleBufferSGIX");

  /* GL_SGIX_reference_plane */
  glReferencePlaneSGIX = _opengl_get_proc_address("glReferencePlaneSGIX");

  /* GL_SGIX_flush_raster */
  glFlushRasterSGIX = _opengl_get_proc_address("glFlushRasterSGIX");

  /* GL_SGIS_fog_function */
  glFogFuncSGIS = _opengl_get_proc_address("glFogFuncSGIS");
  glGetFogFuncSGIS = _opengl_get_proc_address("glGetFogFuncSGIS");

  /* GL_HP_image_transform */
  glImageTransformParameteriHP = _opengl_get_proc_address("glImageTransformParameteriHP");
  glImageTransformParameterfHP = _opengl_get_proc_address("glImageTransformParameterfHP");
  glImageTransformParameterivHP = _opengl_get_proc_address("glImageTransformParameterivHP");
  glImageTransformParameterfvHP = _opengl_get_proc_address("glImageTransformParameterfvHP");
  glGetImageTransformParameterivHP = _opengl_get_proc_address("glGetImageTransformParameterivHP");
  glGetImageTransformParameterfvHP = _opengl_get_proc_address("glGetImageTransformParameterfvHP");

  /* GL_EXT_color_subtable */
  glColorSubTableEXT = _opengl_get_proc_address("glColorSubTableEXT");
  glCopyColorSubTableEXT = _opengl_get_proc_address("glCopyColorSubTableEXT");

  /* GL_PGI_misc_hints */
  glHintPGI = _opengl_get_proc_address("glHintPGI");

  /* GL_EXT_paletted_texture */
  glColorTableEXT = _opengl_get_proc_address("glColorTableEXT");
  glGetColorTableEXT = _opengl_get_proc_address("glGetColorTableEXT");
  glGetColorTableParameterivEXT = _opengl_get_proc_address("glGetColorTableParameterivEXT");
  glGetColorTableParameterfvEXT = _opengl_get_proc_address("glGetColorTableParameterfvEXT");

  /* GL_SGIX_list_priority */
  glGetListParameterfvSGIX = _opengl_get_proc_address("glGetListParameterfvSGIX");
  glGetListParameterivSGIX = _opengl_get_proc_address("glGetListParameterivSGIX");
  glListParameterfSGIX = _opengl_get_proc_address("glListParameterfSGIX");
  glListParameterfvSGIX = _opengl_get_proc_address("glListParameterfvSGIX");
  glListParameteriSGIX = _opengl_get_proc_address("glListParameteriSGIX");
  glListParameterivSGIX = _opengl_get_proc_address("glListParameterivSGIX");

  /* GL_EXT_index_material */
  glIndexMaterialEXT = _opengl_get_proc_address("glIndexMaterialEXT");

  /* GL_EXT_index_func */
  glIndexFuncEXT = _opengl_get_proc_address("glIndexFuncEXT");

  /* GL_EXT_compiled_vertex_array */
  glLockArraysEXT = _opengl_get_proc_address("glLockArraysEXT");
  glUnlockArraysEXT = _opengl_get_proc_address("glUnlockArraysEXT");

  /* GL_EXT_cull_vertex */
  glCullParameterdvEXT = _opengl_get_proc_address("glCullParameterdvEXT");
  glCullParameterfvEXT = _opengl_get_proc_address("glCullParameterfvEXT");

  /* GL_SGIX_fragment_lighting */
  glFragmentColorMaterialSGIX = _opengl_get_proc_address("glFragmentColorMaterialSGIX");
  glFragmentLightfSGIX = _opengl_get_proc_address("glFragmentLightfSGIX");
  glFragmentLightfvSGIX = _opengl_get_proc_address("glFragmentLightfvSGIX");
  glFragmentLightiSGIX = _opengl_get_proc_address("glFragmentLightiSGIX");
  glFragmentLightivSGIX = _opengl_get_proc_address("glFragmentLightivSGIX");
  glFragmentLightModelfSGIX = _opengl_get_proc_address("glFragmentLightModelfSGIX");
  glFragmentLightModelfvSGIX = _opengl_get_proc_address("glFragmentLightModelfvSGIX");
  glFragmentLightModeliSGIX = _opengl_get_proc_address("glFragmentLightModeliSGIX");
  glFragmentLightModelivSGIX = _opengl_get_proc_address("glFragmentLightModelivSGIX");
  glFragmentMaterialfSGIX = _opengl_get_proc_address("glFragmentMaterialfSGIX");
  glFragmentMaterialfvSGIX = _opengl_get_proc_address("glFragmentMaterialfvSGIX");
  glFragmentMaterialiSGIX = _opengl_get_proc_address("glFragmentMaterialiSGIX");
  glFragmentMaterialivSGIX = _opengl_get_proc_address("glFragmentMaterialivSGIX");
  glGetFragmentLightfvSGIX = _opengl_get_proc_address("glGetFragmentLightfvSGIX");
  glGetFragmentLightivSGIX = _opengl_get_proc_address("glGetFragmentLightivSGIX");
  glGetFragmentMaterialfvSGIX = _opengl_get_proc_address("glGetFragmentMaterialfvSGIX");
  glGetFragmentMaterialivSGIX = _opengl_get_proc_address("glGetFragmentMaterialivSGIX");
  glLightEnviSGIX = _opengl_get_proc_address("glLightEnviSGIX");

  /* GL_EXT_draw_range_elements */
  glDrawRangeElementsEXT = _opengl_get_proc_address("glDrawRangeElementsEXT");

  /* GL_EXT_light_texture */
  glApplyTextureEXT = _opengl_get_proc_address("glApplyTextureEXT");
  glTextureLightEXT = _opengl_get_proc_address("glTextureLightEXT");
  glTextureMaterialEXT = _opengl_get_proc_address("glTextureMaterialEXT");

  /* GL_SGIX_async */
  glAsyncMarkerSGIX = _opengl_get_proc_address("glAsyncMarkerSGIX");
  glFinishAsyncSGIX = _opengl_get_proc_address("glFinishAsyncSGIX");
  glPollAsyncSGIX = _opengl_get_proc_address("glPollAsyncSGIX");
  glGenAsyncMarkersSGIX = _opengl_get_proc_address("glGenAsyncMarkersSGIX");
  glDeleteAsyncMarkersSGIX = _opengl_get_proc_address("glDeleteAsyncMarkersSGIX");
  glIsAsyncMarkerSGIX = _opengl_get_proc_address("glIsAsyncMarkerSGIX");

  /* GL_INTEL_parallel_arrays */
  glVertexPointervINTEL = _opengl_get_proc_address("glVertexPointervINTEL");
  glNormalPointervINTEL = _opengl_get_proc_address("glNormalPointervINTEL");
  glColorPointervINTEL = _opengl_get_proc_address("glColorPointervINTEL");
  glTexCoordPointervINTEL = _opengl_get_proc_address("glTexCoordPointervINTEL");

  /* GL_EXT_pixel_transform */
  glPixelTransformParameteriEXT = _opengl_get_proc_address("glPixelTransformParameteriEXT");
  glPixelTransformParameterfEXT = _opengl_get_proc_address("glPixelTransformParameterfEXT");
  glPixelTransformParameterivEXT = _opengl_get_proc_address("glPixelTransformParameterivEXT");
  glPixelTransformParameterfvEXT = _opengl_get_proc_address("glPixelTransformParameterfvEXT");

  /* GL_EXT_secondary_color */
  glSecondaryColor3bEXT = _opengl_get_proc_address("glSecondaryColor3bEXT");
  glSecondaryColor3bvEXT = _opengl_get_proc_address("glSecondaryColor3bvEXT");
  glSecondaryColor3dEXT = _opengl_get_proc_address("glSecondaryColor3dEXT");
  glSecondaryColor3dvEXT = _opengl_get_proc_address("glSecondaryColor3dvEXT");
  glSecondaryColor3fEXT = _opengl_get_proc_address("glSecondaryColor3fEXT");
  glSecondaryColor3fvEXT = _opengl_get_proc_address("glSecondaryColor3fvEXT");
  glSecondaryColor3iEXT = _opengl_get_proc_address("glSecondaryColor3iEXT");
  glSecondaryColor3ivEXT = _opengl_get_proc_address("glSecondaryColor3ivEXT");
  glSecondaryColor3sEXT = _opengl_get_proc_address("glSecondaryColor3sEXT");
  glSecondaryColor3svEXT = _opengl_get_proc_address("glSecondaryColor3svEXT");
  glSecondaryColor3ubEXT = _opengl_get_proc_address("glSecondaryColor3ubEXT");
  glSecondaryColor3ubvEXT = _opengl_get_proc_address("glSecondaryColor3ubvEXT");
  glSecondaryColor3uiEXT = _opengl_get_proc_address("glSecondaryColor3uiEXT");
  glSecondaryColor3uivEXT = _opengl_get_proc_address("glSecondaryColor3uivEXT");
  glSecondaryColor3usEXT = _opengl_get_proc_address("glSecondaryColor3usEXT");
  glSecondaryColor3usvEXT = _opengl_get_proc_address("glSecondaryColor3usvEXT");
  glSecondaryColorPointerEXT = _opengl_get_proc_address("glSecondaryColorPointerEXT");

  /* GL_EXT_texture_perturb_normal */
  glTextureNormalEXT = _opengl_get_proc_address("glTextureNormalEXT");

  /* GL_EXT_multi_draw_arrays */
  glMultiDrawArraysEXT = _opengl_get_proc_address("glMultiDrawArraysEXT");
  glMultiDrawElementsEXT = _opengl_get_proc_address("glMultiDrawElementsEXT");

  /* GL_EXT_fog_coord */
  glFogCoordfEXT = _opengl_get_proc_address("glFogCoordfEXT");
  glFogCoordfvEXT = _opengl_get_proc_address("glFogCoordfvEXT");
  glFogCoorddEXT = _opengl_get_proc_address("glFogCoorddEXT");
  glFogCoorddvEXT = _opengl_get_proc_address("glFogCoorddvEXT");
  glFogCoordPointerEXT = _opengl_get_proc_address("glFogCoordPointerEXT");

  /* GL_EXT_coordinate_frame */
  glTangent3bEXT = _opengl_get_proc_address("glTangent3bEXT");
  glTangent3bvEXT = _opengl_get_proc_address("glTangent3bvEXT");
  glTangent3dEXT = _opengl_get_proc_address("glTangent3dEXT");
  glTangent3dvEXT = _opengl_get_proc_address("glTangent3dvEXT");
  glTangent3fEXT = _opengl_get_proc_address("glTangent3fEXT");
  glTangent3fvEXT = _opengl_get_proc_address("glTangent3fvEXT");
  glTangent3iEXT = _opengl_get_proc_address("glTangent3iEXT");
  glTangent3ivEXT = _opengl_get_proc_address("glTangent3ivEXT");
  glTangent3sEXT = _opengl_get_proc_address("glTangent3sEXT");
  glTangent3svEXT = _opengl_get_proc_address("glTangent3svEXT");
  glBinormal3bEXT = _opengl_get_proc_address("glBinormal3bEXT");
  glBinormal3bvEXT = _opengl_get_proc_address("glBinormal3bvEXT");
  glBinormal3dEXT = _opengl_get_proc_address("glBinormal3dEXT");
  glBinormal3dvEXT = _opengl_get_proc_address("glBinormal3dvEXT");
  glBinormal3fEXT = _opengl_get_proc_address("glBinormal3fEXT");
  glBinormal3fvEXT = _opengl_get_proc_address("glBinormal3fvEXT");
  glBinormal3iEXT = _opengl_get_proc_address("glBinormal3iEXT");
  glBinormal3ivEXT = _opengl_get_proc_address("glBinormal3ivEXT");
  glBinormal3sEXT = _opengl_get_proc_address("glBinormal3sEXT");
  glBinormal3svEXT = _opengl_get_proc_address("glBinormal3svEXT");
  glTangentPointerEXT = _opengl_get_proc_address("glTangentPointerEXT");
  glBinormalPointerEXT = _opengl_get_proc_address("glBinormalPointerEXT");

  /* GL_SGIX_pixel_texture */
  glPixelTexGenSGIX = _opengl_get_proc_address("glPixelTexGenSGIX");

  /* GL_SUNX_constant_data */
  glFinishTextureSUNX = _opengl_get_proc_address("glFinishTextureSUNX");

  /* GL_SUN_global_alpha */
  glGlobalAlphaFactorbSUN = _opengl_get_proc_address("glGlobalAlphaFactorbSUN");
  glGlobalAlphaFactorsSUN = _opengl_get_proc_address("glGlobalAlphaFactorsSUN");
  glGlobalAlphaFactoriSUN = _opengl_get_proc_address("glGlobalAlphaFactoriSUN");
  glGlobalAlphaFactorfSUN = _opengl_get_proc_address("glGlobalAlphaFactorfSUN");
  glGlobalAlphaFactordSUN = _opengl_get_proc_address("glGlobalAlphaFactordSUN");
  glGlobalAlphaFactorubSUN = _opengl_get_proc_address("glGlobalAlphaFactorubSUN");
  glGlobalAlphaFactorusSUN = _opengl_get_proc_address("glGlobalAlphaFactorusSUN");
  glGlobalAlphaFactoruiSUN = _opengl_get_proc_address("glGlobalAlphaFactoruiSUN");

  /* GL_SUN_triangle_list */
  glReplacementCodeuiSUN = _opengl_get_proc_address("glReplacementCodeuiSUN");
  glReplacementCodeusSUN = _opengl_get_proc_address("glReplacementCodeusSUN");
  glReplacementCodeubSUN = _opengl_get_proc_address("glReplacementCodeubSUN");
  glReplacementCodeuivSUN = _opengl_get_proc_address("glReplacementCodeuivSUN");
  glReplacementCodeusvSUN = _opengl_get_proc_address("glReplacementCodeusvSUN");
  glReplacementCodeubvSUN = _opengl_get_proc_address("glReplacementCodeubvSUN");
  glReplacementCodePointerSUN = _opengl_get_proc_address("glReplacementCodePointerSUN");

  /* GL_SUN_vertex */
  glColor4ubVertex2fSUN = _opengl_get_proc_address("glColor4ubVertex2fSUN");
  glColor4ubVertex2fvSUN = _opengl_get_proc_address("glColor4ubVertex2fvSUN");
  glColor4ubVertex3fSUN = _opengl_get_proc_address("glColor4ubVertex3fSUN");
  glColor4ubVertex3fvSUN = _opengl_get_proc_address("glColor4ubVertex3fvSUN");
  glColor3fVertex3fSUN = _opengl_get_proc_address("glColor3fVertex3fSUN");
  glColor3fVertex3fvSUN = _opengl_get_proc_address("glColor3fVertex3fvSUN");
  glNormal3fVertex3fSUN = _opengl_get_proc_address("glNormal3fVertex3fSUN");
  glNormal3fVertex3fvSUN = _opengl_get_proc_address("glNormal3fVertex3fvSUN");
  glColor4fNormal3fVertex3fSUN = _opengl_get_proc_address("glColor4fNormal3fVertex3fSUN");
  glColor4fNormal3fVertex3fvSUN = _opengl_get_proc_address("glColor4fNormal3fVertex3fvSUN");
  glTexCoord2fVertex3fSUN = _opengl_get_proc_address("glTexCoord2fVertex3fSUN");
  glTexCoord2fVertex3fvSUN = _opengl_get_proc_address("glTexCoord2fVertex3fvSUN");
  glTexCoord4fVertex4fSUN = _opengl_get_proc_address("glTexCoord4fVertex4fSUN");
  glTexCoord4fVertex4fvSUN = _opengl_get_proc_address("glTexCoord4fVertex4fvSUN");
  glTexCoord2fColor4ubVertex3fSUN = _opengl_get_proc_address("glTexCoord2fColor4ubVertex3fSUN");
  glTexCoord2fColor4ubVertex3fvSUN = _opengl_get_proc_address("glTexCoord2fColor4ubVertex3fvSUN");
  glTexCoord2fColor3fVertex3fSUN = _opengl_get_proc_address("glTexCoord2fColor3fVertex3fSUN");
  glTexCoord2fColor3fVertex3fvSUN = _opengl_get_proc_address("glTexCoord2fColor3fVertex3fvSUN");
  glTexCoord2fNormal3fVertex3fSUN = _opengl_get_proc_address("glTexCoord2fNormal3fVertex3fSUN");
  glTexCoord2fNormal3fVertex3fvSUN = _opengl_get_proc_address("glTexCoord2fNormal3fVertex3fvSUN");
  glTexCoord2fColor4fNormal3fVertex3fSUN = _opengl_get_proc_address("glTexCoord2fColor4fNormal3fVertex3fSUN");
  glTexCoord2fColor4fNormal3fVertex3fvSUN = _opengl_get_proc_address("glTexCoord2fColor4fNormal3fVertex3fvSUN");
  glTexCoord4fColor4fNormal3fVertex4fSUN = _opengl_get_proc_address("glTexCoord4fColor4fNormal3fVertex4fSUN");
  glTexCoord4fColor4fNormal3fVertex4fvSUN = _opengl_get_proc_address("glTexCoord4fColor4fNormal3fVertex4fvSUN");
  glReplacementCodeuiVertex3fSUN = _opengl_get_proc_address("glReplacementCodeuiVertex3fSUN");
  glReplacementCodeuiVertex3fvSUN = _opengl_get_proc_address("glReplacementCodeuiVertex3fvSUN");
  glReplacementCodeuiColor4ubVertex3fSUN = _opengl_get_proc_address("glReplacementCodeuiColor4ubVertex3fSUN");
  glReplacementCodeuiColor4ubVertex3fvSUN = _opengl_get_proc_address("glReplacementCodeuiColor4ubVertex3fvSUN");
  glReplacementCodeuiColor3fVertex3fSUN = _opengl_get_proc_address("glReplacementCodeuiColor3fVertex3fSUN");
  glReplacementCodeuiColor3fVertex3fvSUN = _opengl_get_proc_address("glReplacementCodeuiColor3fVertex3fvSUN");
  glReplacementCodeuiNormal3fVertex3fSUN = _opengl_get_proc_address("glReplacementCodeuiNormal3fVertex3fSUN");
  glReplacementCodeuiNormal3fVertex3fvSUN = _opengl_get_proc_address("glReplacementCodeuiNormal3fVertex3fvSUN");
  glReplacementCodeuiColor4fNormal3fVertex3fSUN = _opengl_get_proc_address("glReplacementCodeuiColor4fNormal3fVertex3fSUN");
  glReplacementCodeuiColor4fNormal3fVertex3fvSUN = _opengl_get_proc_address("glReplacementCodeuiColor4fNormal3fVertex3fvSUN");
  glReplacementCodeuiTexCoord2fVertex3fSUN = _opengl_get_proc_address("glReplacementCodeuiTexCoord2fVertex3fSUN");
  glReplacementCodeuiTexCoord2fVertex3fvSUN = _opengl_get_proc_address("glReplacementCodeuiTexCoord2fVertex3fvSUN");
  glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = _opengl_get_proc_address("glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN");
  glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = _opengl_get_proc_address("glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN");
  glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = _opengl_get_proc_address("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN");
  glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = _opengl_get_proc_address("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN");

  /* GL_EXT_blend_func_separate */
  glBlendFuncSeparateEXT = _opengl_get_proc_address("glBlendFuncSeparateEXT");

  /* GL_EXT_vertex_weighting */
  glVertexWeightfEXT = _opengl_get_proc_address("glVertexWeightfEXT");
  glVertexWeightfvEXT = _opengl_get_proc_address("glVertexWeightfvEXT");
  glVertexWeightPointerEXT = _opengl_get_proc_address("glVertexWeightPointerEXT");

  /* GL_NV_vertex_array_range */
  glFlushVertexArrayRangeNV = _opengl_get_proc_address("glFlushVertexArrayRangeNV");
  glVertexArrayRangeNV = _opengl_get_proc_address("glVertexArrayRangeNV");

  /* GL_NV_register_combiners */
  glCombinerParameterfvNV = _opengl_get_proc_address("glCombinerParameterfvNV");
  glCombinerParameterfNV = _opengl_get_proc_address("glCombinerParameterfNV");
  glCombinerParameterivNV = _opengl_get_proc_address("glCombinerParameterivNV");
  glCombinerParameteriNV = _opengl_get_proc_address("glCombinerParameteriNV");
  glCombinerInputNV = _opengl_get_proc_address("glCombinerInputNV");
  glCombinerOutputNV = _opengl_get_proc_address("glCombinerOutputNV");
  glFinalCombinerInputNV = _opengl_get_proc_address("glFinalCombinerInputNV");
  glGetCombinerInputParameterfvNV = _opengl_get_proc_address("glGetCombinerInputParameterfvNV");
  glGetCombinerInputParameterivNV = _opengl_get_proc_address("glGetCombinerInputParameterivNV");
  glGetCombinerOutputParameterfvNV = _opengl_get_proc_address("glGetCombinerOutputParameterfvNV");
  glGetCombinerOutputParameterivNV = _opengl_get_proc_address("glGetCombinerOutputParameterivNV");
  glGetFinalCombinerInputParameterfvNV = _opengl_get_proc_address("glGetFinalCombinerInputParameterfvNV");
  glGetFinalCombinerInputParameterivNV = _opengl_get_proc_address("glGetFinalCombinerInputParameterivNV");

  /* GL_MESA_resize_buffers */
  glResizeBuffersMESA = _opengl_get_proc_address("glResizeBuffersMESA");

  /* GL_MESA_window_pos */
  glWindowPos2dMESA = _opengl_get_proc_address("glWindowPos2dMESA");
  glWindowPos2dvMESA = _opengl_get_proc_address("glWindowPos2dvMESA");
  glWindowPos2fMESA = _opengl_get_proc_address("glWindowPos2fMESA");
  glWindowPos2fvMESA = _opengl_get_proc_address("glWindowPos2fvMESA");
  glWindowPos2iMESA = _opengl_get_proc_address("glWindowPos2iMESA");
  glWindowPos2ivMESA = _opengl_get_proc_address("glWindowPos2ivMESA");
  glWindowPos2sMESA = _opengl_get_proc_address("glWindowPos2sMESA");
  glWindowPos2svMESA = _opengl_get_proc_address("glWindowPos2svMESA");
  glWindowPos3dMESA = _opengl_get_proc_address("glWindowPos3dMESA");
  glWindowPos3dvMESA = _opengl_get_proc_address("glWindowPos3dvMESA");
  glWindowPos3fMESA = _opengl_get_proc_address("glWindowPos3fMESA");
  glWindowPos3fvMESA = _opengl_get_proc_address("glWindowPos3fvMESA");
  glWindowPos3iMESA = _opengl_get_proc_address("glWindowPos3iMESA");
  glWindowPos3ivMESA = _opengl_get_proc_address("glWindowPos3ivMESA");
  glWindowPos3sMESA = _opengl_get_proc_address("glWindowPos3sMESA");
  glWindowPos3svMESA = _opengl_get_proc_address("glWindowPos3svMESA");
  glWindowPos4dMESA = _opengl_get_proc_address("glWindowPos4dMESA");
  glWindowPos4dvMESA = _opengl_get_proc_address("glWindowPos4dvMESA");
  glWindowPos4fMESA = _opengl_get_proc_address("glWindowPos4fMESA");
  glWindowPos4fvMESA = _opengl_get_proc_address("glWindowPos4fvMESA");
  glWindowPos4iMESA = _opengl_get_proc_address("glWindowPos4iMESA");
  glWindowPos4ivMESA = _opengl_get_proc_address("glWindowPos4ivMESA");
  glWindowPos4sMESA = _opengl_get_proc_address("glWindowPos4sMESA");
  glWindowPos4svMESA = _opengl_get_proc_address("glWindowPos4svMESA");

  /* GL_IBM_multimode_draw_arrays */
  glMultiModeDrawArraysIBM = _opengl_get_proc_address("glMultiModeDrawArraysIBM");
  glMultiModeDrawElementsIBM = _opengl_get_proc_address("glMultiModeDrawElementsIBM");

  /* GL_IBM_vertex_array_lists */
  glColorPointerListIBM = _opengl_get_proc_address("glColorPointerListIBM");
  glSecondaryColorPointerListIBM = _opengl_get_proc_address("glSecondaryColorPointerListIBM");
  glEdgeFlagPointerListIBM = _opengl_get_proc_address("glEdgeFlagPointerListIBM");
  glFogCoordPointerListIBM = _opengl_get_proc_address("glFogCoordPointerListIBM");
  glIndexPointerListIBM = _opengl_get_proc_address("glIndexPointerListIBM");
  glNormalPointerListIBM = _opengl_get_proc_address("glNormalPointerListIBM");
  glTexCoordPointerListIBM = _opengl_get_proc_address("glTexCoordPointerListIBM");
  glVertexPointerListIBM = _opengl_get_proc_address("glVertexPointerListIBM");

  /* GL_3DFX_tbuffer */
  glTbufferMask3DFX = _opengl_get_proc_address("glTbufferMask3DFX");

  /* GL_EXT_multisample */
  glSampleMaskEXT = _opengl_get_proc_address("glSampleMaskEXT");
  glSamplePatternEXT = _opengl_get_proc_address("glSamplePatternEXT");

  /* GL_SGIS_texture_color_mask */
  glTextureColorMaskSGIS = _opengl_get_proc_address("glTextureColorMaskSGIS");

  /* GL_NV_fence */
  glDeleteFencesNV = _opengl_get_proc_address("glDeleteFencesNV");
  glGenFencesNV = _opengl_get_proc_address("glGenFencesNV");
  glIsFenceNV = _opengl_get_proc_address("glIsFenceNV");
  glTestFenceNV = _opengl_get_proc_address("glTestFenceNV");
  glGetFenceivNV = _opengl_get_proc_address("glGetFenceivNV");
  glFinishFenceNV = _opengl_get_proc_address("glFinishFenceNV");
  glSetFenceNV = _opengl_get_proc_address("glSetFenceNV");

  /* GL_NV_evaluators */
  glMapControlPointsNV = _opengl_get_proc_address("glMapControlPointsNV");
  glMapParameterivNV = _opengl_get_proc_address("glMapParameterivNV");
  glMapParameterfvNV = _opengl_get_proc_address("glMapParameterfvNV");
  glGetMapControlPointsNV = _opengl_get_proc_address("glGetMapControlPointsNV");
  glGetMapParameterivNV = _opengl_get_proc_address("glGetMapParameterivNV");
  glGetMapParameterfvNV = _opengl_get_proc_address("glGetMapParameterfvNV");
  glGetMapAttribParameterivNV = _opengl_get_proc_address("glGetMapAttribParameterivNV");
  glGetMapAttribParameterfvNV = _opengl_get_proc_address("glGetMapAttribParameterfvNV");
  glEvalMapsNV = _opengl_get_proc_address("glEvalMapsNV");

  /* GL_NV_register_combiners2 */
  glCombinerStageParameterfvNV = _opengl_get_proc_address("glCombinerStageParameterfvNV");
  glGetCombinerStageParameterfvNV = _opengl_get_proc_address("glGetCombinerStageParameterfvNV");

  /* GL_NV_vertex_program */
  glAreProgramsResidentNV = _opengl_get_proc_address("glAreProgramsResidentNV");
  glBindProgramNV = _opengl_get_proc_address("glBindProgramNV");
  glDeleteProgramsNV = _opengl_get_proc_address("glDeleteProgramsNV");
  glExecuteProgramNV = _opengl_get_proc_address("glExecuteProgramNV");
  glGenProgramsNV = _opengl_get_proc_address("glGenProgramsNV");
  glGetProgramParameterdvNV = _opengl_get_proc_address("glGetProgramParameterdvNV");
  glGetProgramParameterfvNV = _opengl_get_proc_address("glGetProgramParameterfvNV");
  glGetProgramivNV = _opengl_get_proc_address("glGetProgramivNV");
  glGetProgramStringNV = _opengl_get_proc_address("glGetProgramStringNV");
  glGetTrackMatrixivNV = _opengl_get_proc_address("glGetTrackMatrixivNV");
  glGetVertexAttribdvNV = _opengl_get_proc_address("glGetVertexAttribdvNV");
  glGetVertexAttribfvNV = _opengl_get_proc_address("glGetVertexAttribfvNV");
  glGetVertexAttribivNV = _opengl_get_proc_address("glGetVertexAttribivNV");
  glGetVertexAttribPointervNV = _opengl_get_proc_address("glGetVertexAttribPointervNV");
  glIsProgramNV = _opengl_get_proc_address("glIsProgramNV");
  glLoadProgramNV = _opengl_get_proc_address("glLoadProgramNV");
  glProgramParameter4dNV = _opengl_get_proc_address("glProgramParameter4dNV");
  glProgramParameter4dvNV = _opengl_get_proc_address("glProgramParameter4dvNV");
  glProgramParameter4fNV = _opengl_get_proc_address("glProgramParameter4fNV");
  glProgramParameter4fvNV = _opengl_get_proc_address("glProgramParameter4fvNV");
  glProgramParameters4dvNV = _opengl_get_proc_address("glProgramParameters4dvNV");
  glProgramParameters4fvNV = _opengl_get_proc_address("glProgramParameters4fvNV");
  glRequestResidentProgramsNV = _opengl_get_proc_address("glRequestResidentProgramsNV");
  glTrackMatrixNV = _opengl_get_proc_address("glTrackMatrixNV");
  glVertexAttribPointerNV = _opengl_get_proc_address("glVertexAttribPointerNV");
  glVertexAttrib1dNV = _opengl_get_proc_address("glVertexAttrib1dNV");
  glVertexAttrib1dvNV = _opengl_get_proc_address("glVertexAttrib1dvNV");
  glVertexAttrib1fNV = _opengl_get_proc_address("glVertexAttrib1fNV");
  glVertexAttrib1fvNV = _opengl_get_proc_address("glVertexAttrib1fvNV");
  glVertexAttrib1sNV = _opengl_get_proc_address("glVertexAttrib1sNV");
  glVertexAttrib1svNV = _opengl_get_proc_address("glVertexAttrib1svNV");
  glVertexAttrib2dNV = _opengl_get_proc_address("glVertexAttrib2dNV");
  glVertexAttrib2dvNV = _opengl_get_proc_address("glVertexAttrib2dvNV");
  glVertexAttrib2fNV = _opengl_get_proc_address("glVertexAttrib2fNV");
  glVertexAttrib2fvNV = _opengl_get_proc_address("glVertexAttrib2fvNV");
  glVertexAttrib2sNV = _opengl_get_proc_address("glVertexAttrib2sNV");
  glVertexAttrib2svNV = _opengl_get_proc_address("glVertexAttrib2svNV");
  glVertexAttrib3dNV = _opengl_get_proc_address("glVertexAttrib3dNV");
  glVertexAttrib3dvNV = _opengl_get_proc_address("glVertexAttrib3dvNV");
  glVertexAttrib3fNV = _opengl_get_proc_address("glVertexAttrib3fNV");
  glVertexAttrib3fvNV = _opengl_get_proc_address("glVertexAttrib3fvNV");
  glVertexAttrib3sNV = _opengl_get_proc_address("glVertexAttrib3sNV");
  glVertexAttrib3svNV = _opengl_get_proc_address("glVertexAttrib3svNV");
  glVertexAttrib4dNV = _opengl_get_proc_address("glVertexAttrib4dNV");
  glVertexAttrib4dvNV = _opengl_get_proc_address("glVertexAttrib4dvNV");
  glVertexAttrib4fNV = _opengl_get_proc_address("glVertexAttrib4fNV");
  glVertexAttrib4fvNV = _opengl_get_proc_address("glVertexAttrib4fvNV");
  glVertexAttrib4sNV = _opengl_get_proc_address("glVertexAttrib4sNV");
  glVertexAttrib4svNV = _opengl_get_proc_address("glVertexAttrib4svNV");
  glVertexAttrib4ubNV = _opengl_get_proc_address("glVertexAttrib4ubNV");
  glVertexAttrib4ubvNV = _opengl_get_proc_address("glVertexAttrib4ubvNV");
  glVertexAttribs1dvNV = _opengl_get_proc_address("glVertexAttribs1dvNV");
  glVertexAttribs1fvNV = _opengl_get_proc_address("glVertexAttribs1fvNV");
  glVertexAttribs1svNV = _opengl_get_proc_address("glVertexAttribs1svNV");
  glVertexAttribs2dvNV = _opengl_get_proc_address("glVertexAttribs2dvNV");
  glVertexAttribs2fvNV = _opengl_get_proc_address("glVertexAttribs2fvNV");
  glVertexAttribs2svNV = _opengl_get_proc_address("glVertexAttribs2svNV");
  glVertexAttribs3dvNV = _opengl_get_proc_address("glVertexAttribs3dvNV");
  glVertexAttribs3fvNV = _opengl_get_proc_address("glVertexAttribs3fvNV");
  glVertexAttribs3svNV = _opengl_get_proc_address("glVertexAttribs3svNV");
  glVertexAttribs4dvNV = _opengl_get_proc_address("glVertexAttribs4dvNV");
  glVertexAttribs4fvNV = _opengl_get_proc_address("glVertexAttribs4fvNV");
  glVertexAttribs4svNV = _opengl_get_proc_address("glVertexAttribs4svNV");
  glVertexAttribs4ubvNV = _opengl_get_proc_address("glVertexAttribs4ubvNV");

  /* GL_NV_point_sprite */
  glPointParameteriNV = _opengl_get_proc_address("glPointParameteriNV");
  glPointParameterivNV = _opengl_get_proc_address("glPointParameterivNV");

  /* EXT_stencil_two_side */
  glActiveStencilFaceEXT = _opengl_get_proc_address("glActiveStencilFaceEXT");

  /* GL_ATI_draw_buffers */
  glDrawBuffersATI = _opengl_get_proc_address("glDrawBuffersATI");

  /* GL_NV_fragment_program */
  glProgramNamedParameter4fNV = _opengl_get_proc_address("glProgramNamedParameter4fNV");
  glProgramNamedParameter4dNV = _opengl_get_proc_address("glProgramNamedParameter4dNV");
  glProgramNamedParameter4fvNV = _opengl_get_proc_address("glProgramNamedParameter4fvNV");
  glProgramNamedParameter4dvNV = _opengl_get_proc_address("glProgramNamedParameter4dvNV");
  glGetProgramNamedParameterfvNV = _opengl_get_proc_address("glGetProgramNamedParameterfvNV");
  glGetProgramNamedParameterdvNV = _opengl_get_proc_address("glGetProgramNamedParameterdvNV");

  /* GL_EXT_depth_bounds_test */
  glDepthBoundsEXT = _opengl_get_proc_address("glDepthBoundsEXT");

  /* GL_EXT_blend_equation_separate */
  glBlendEquationSeparateEXT = _opengl_get_proc_address("glBlendEquationSeparateEXT");

  /* GL_ATI_blend_equation_separate */
  glBlendEquationSeparateATI = _opengl_get_proc_address("glBlendEquationSeparateATI");

  /* GL_INGR_blend_func_separate */
  glBlendFuncSeparateINGR = _opengl_get_proc_address("glBlendFuncSeparateINGR");

  /* GL_SGIS_point_parameters */
  glPointParameterfSGIS = _opengl_get_proc_address("glPointParameterfSGIS");
  glPointParameterfvSGIS = _opengl_get_proc_address("glPointParameterfvSGIS");

  /* GL_SGIX_igloo_interface */
  glIglooInterfaceSGIX = _opengl_get_proc_address("glIglooInterfaceSGIX");

  /* GL_SGIX_polynomial_ffd */
  glDeformationMap3dSGIX = _opengl_get_proc_address("glDeformationMap3dSGIX");
  glDeformationMap3fSGIX = _opengl_get_proc_address("glDeformationMap3fSGIX");
  glDeformSGIX = _opengl_get_proc_address("glDeformSGIX");
  glLoadIdentityDeformationMapSGIX = _opengl_get_proc_address("glLoadIdentityDeformationMapSGIX");

  /* GL_EXT_texture_compression_s3tc */


  dlclose(libHandle);

  return 0;
}

/* eof */
